我有一个这样的文档架构:
{
"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函数,但这不起作用
答案 0 :(得分: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})