RethinkDB:​​根据过滤字段过滤文档

时间:2020-04-21 14:09:49

标签: rethinkdb rethinkdb-javascript

我有一个文档表(entity),其中的字段是对象列表:

{
    "field": { 
        "content": [
            { "url": "https://www.google.com" },
            { "url": "" }
        ]
},
{
    "field": {
        "content": [
            { "url": "" }
        ]
}

我想过滤表以仅获取那些具有有效内容的文档。有效内容定义为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)
})

1 个答案:

答案 0 :(得分: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)
})