【发布时间】:2017-06-26 21:55:34
【问题描述】:
我想在 myCollection 中的所有文档中添加一个名为“serie”的字段,并带有一个序列号,例如:
{"_id" : "507f191e810c19239de098db", "name" : "John", "serie" : "1"}
{"_id" : "507f191e810c19729de860ea", "name" : "Dave"}, "serie" : "2"}
{"_id" : "507f191e810c19729de564ou", "name" : "Kate"}, "serie" : "3"}
......
objectId (_id) 不适合显示或被人类记住,所以我想保留它并添加另一个字段“serie”,其中包含简单、简短和唯一的数字来标识每个文档,例如序列号.所以我尝试了以下脚本,但我在所有文档中都得到了相同的“serie”值:
for(var i=1; i < 543; i++){
db.myCollection.update({},
{ $set: {"serie": i}},
{ upsert:false, multi: true });
}
感谢您的帮助。
【问题讨论】:
-
这个问题同样比你想象的要广泛得多,而且你的目的也很不清楚。你想以什么样的顺序添加这个递增的字段?你有没有想过你会如何在 SQL 数据库之类的东西中做这样的事情,你认为这里的过程会有什么不同?您是否知道您在此处显示的现有
_id值既是唯一值的主键,又是单调的(不断增加)? -
@NeilLunn,抱歉不清楚,我编辑了我的问题,谢谢
标签: javascript mongodb