首页 文章

更新嵌套文档数组rethinkdb

提问于
浏览
0

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

{
"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函数,但这不起作用

1 回答

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

相关问题