【问题标题】:RethinkDB: Filter documents based on filtered fieldRethinkDB:​​根据过滤字段过滤文档
【发布时间】:2020-04-21 14:09:49
【问题描述】:

我有一个文档表 (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)
})

【问题讨论】:

    标签: rethinkdb rethinkdb-javascript


    【解决方案1】:

    问题不在于过滤 - 我错误地访问了嵌套字段。

    这行得通:

    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)
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-19
      • 1970-01-01
      • 1970-01-01
      • 2014-09-09
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多