【问题标题】:updating an array of nested documents rethinkdb更新嵌套文档数组 rethinkdb
【发布时间】:2017-07-11 23:06:17
【问题描述】:

我有一个这样的文档架构:

{
"name":"",
"type":"",
"posts":[
{
"url":"",
"content":"",
...
},
{
"url":"",
"content":"",
...
}
...
]
}...

我忘记在插入数据库时​​为每个帖子创建 ID。所以我正在尝试为此创建一个查询:

r.db('test').table('crawlerNovels').filter(function (x){
  return x.keys().contains('chapters')
}).map(function (x){
  return x('chapters')
}).map(
  function(x){
   return x.merge({id:r.uuid()})
  }
)

相反,此查询返回所有具有 id 但实际上并未在数据库中更新的帖子。我尝试在最后使用 forEach 而不是 map 函数,这不起作用

【问题讨论】:

    标签: rethinkdb rethinkdb-javascript


    【解决方案1】:

    经过多次调整和挫折,我想通了:

    r.db('test').table('crawlerNovels').filter(function (x){
      return x.keys().contains('chapters')
    }).update(function(novel){
      return {"chapters":novel('chapters').map( 
        function(chapter){
        return chapter.merge({"id":r.uuid()})
      })}
    },{nonAtomic:true})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-07-13
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 2013-03-19
      • 2017-04-28
      • 2021-07-20
      • 1970-01-01
      相关资源
      最近更新 更多