如何在 RethinkDB 中 return 过滤嵌套数组?
How to return a filtered nested array in RethinkDB?
是否可以在RethinkDB中过滤嵌套数组的元素,类似于MongoDB中的$elemMatch?
例如,如果我们有一个简单的 table 集合,例如:
[
{
"name": "test1" ,
"nested": [
{
"name": "nested1" ,
"user": "paul"
} ,
{
"name": "nested2" ,
"user": "paul"
} ,
{
"name": "nested3" ,
"user": "dave"
}
]
} ,
{
"name": "test2" ,
"nested": [
{
"name": "nested4" ,
"user": "dave"
} ,
{
"name": "nested5" ,
"user": "paul"
} ,
{
"name": "nested6" ,
"user": "steve"
}
]
}
]
如何使用包含用户 "paul" 的过滤数组为 return 文档编写过滤器?
所以我的结果是:
[
{
"name": "test1" ,
"nested": [
{
"name": "nested1" ,
"user": "paul"
} ,
{
"name": "nested2" ,
"user": "paul"
}
]
} ,
{
"name": "test2" ,
"nested": [
{
"name": "nested5" ,
"user": "paul"
}
]
}
]
我可以通过以下方式获取文档:
r.db('test').table('example').filter(r.row('nested')('user').contains('paul'))
然后如何过滤嵌套数组?
谢谢,
保罗
table.map(function(row) {
return row.merge({
nested: row('nested').filter({user: 'paul'})
})
})
是否可以在RethinkDB中过滤嵌套数组的元素,类似于MongoDB中的$elemMatch?
例如,如果我们有一个简单的 table 集合,例如:
[
{
"name": "test1" ,
"nested": [
{
"name": "nested1" ,
"user": "paul"
} ,
{
"name": "nested2" ,
"user": "paul"
} ,
{
"name": "nested3" ,
"user": "dave"
}
]
} ,
{
"name": "test2" ,
"nested": [
{
"name": "nested4" ,
"user": "dave"
} ,
{
"name": "nested5" ,
"user": "paul"
} ,
{
"name": "nested6" ,
"user": "steve"
}
]
}
]
如何使用包含用户 "paul" 的过滤数组为 return 文档编写过滤器?
所以我的结果是:
[
{
"name": "test1" ,
"nested": [
{
"name": "nested1" ,
"user": "paul"
} ,
{
"name": "nested2" ,
"user": "paul"
}
]
} ,
{
"name": "test2" ,
"nested": [
{
"name": "nested5" ,
"user": "paul"
}
]
}
]
我可以通过以下方式获取文档:
r.db('test').table('example').filter(r.row('nested')('user').contains('paul'))
然后如何过滤嵌套数组?
谢谢,
保罗
table.map(function(row) {
return row.merge({
nested: row('nested').filter({user: 'paul'})
})
})