RethinkDB:根据过滤字段过滤文档
RethinkDB: Filter documents based on filtered field
我有 table 个文档 (entity
),其中一个字段是对象列表:
{
"field": {
"content": [
{ "url": "https://www.google.com" },
{ "url": "" }
]
},
{
"field": {
"content": [
{ "url": "" }
]
}
我想过滤 table 以仅获取那些具有有效内容的文档。有效内容定义为 content
字段,其中至少包含一项非空白 url
.
我试过了,但它抱怨内部过滤功能:
r.db('my_db').table('entity').filter(function (row){
return row({'field': 'content'}).filter(function (item) {
return item.hasField('url')
.and(item('url').ne(''))
}).count().gt(0)
})
问题不在于过滤 - 我错误地访问了嵌套字段。
这个有效:
r.db('my_db').table('entity').filter(function (row){
return row('field')('content').filter(function (item) {
return item.hasField('url')
.and(item('url').ne(''))
}).count().gt(0)
})
我有 table 个文档 (entity
),其中一个字段是对象列表:
{
"field": {
"content": [
{ "url": "https://www.google.com" },
{ "url": "" }
]
},
{
"field": {
"content": [
{ "url": "" }
]
}
我想过滤 table 以仅获取那些具有有效内容的文档。有效内容定义为 content
字段,其中至少包含一项非空白 url
.
我试过了,但它抱怨内部过滤功能:
r.db('my_db').table('entity').filter(function (row){
return row({'field': 'content'}).filter(function (item) {
return item.hasField('url')
.and(item('url').ne(''))
}).count().gt(0)
})
问题不在于过滤 - 我错误地访问了嵌套字段。
这个有效:
r.db('my_db').table('entity').filter(function (row){
return row('field')('content').filter(function (item) {
return item.hasField('url')
.and(item('url').ne(''))
}).count().gt(0)
})