Moh*_*bin 9 javascript mongodb mongodb-query
我需要向mongodb集合插入一个新字段(列),该集合现在有5246个文档.该字段应自动递增.所以我使用for循环.我的查询如下`
for(i=1;i<=5246;i++) {
db.coll.update({},{$set:{"new_field":i}},false,true)
};
Run Code Online (Sandbox Code Playgroud)
但我的不好输出是,
{new_field:5246},{new_field:5246},{new_field:5246},.......
Run Code Online (Sandbox Code Playgroud)
查询有问题吗?
Sam*_*aye 19
为什么要更新没有查找条件的所有记录?从技术上讲,这个循环正在按预期工作.你需要做的是循环你的集合的光标,如下所示:
var cursor = db.coll.find(),
i = 0;
cursor.forEach(function(x){
db.coll.update({_id: x._id}, {$set:{new_field:i}})
$i++;
});
Run Code Online (Sandbox Code Playgroud)
这样的东西会起作用.
| 归档时间: |
|
| 查看次数: |
19934 次 |
| 最近记录: |