我是MongoDB的新手。我想知道MongoDB如何实现“变量插值”?
我有以下代码
for (i=0;i<3;i++){
db.test2.insert({i:i+1});
}
哪个插入
{ "_id" : ObjectId("564a1bd0987fe676b9cad025"), "i" : 1 }
{ "_id" : ObjectId("564a1bd0987fe676b9cad026"), "i" : 2 }
{ "_id" : ObjectId("564a1bd0987fe676b9cad027"), "i" : 3 }
但我想要
{ "_id" : ObjectId("564a1bd0987fe676b9cad025"), "0" : 1 }
{ "_id" : ObjectId("564a1bd0987fe676b9cad026"), "1" : 2 }
{ "_id" : ObjectId("564a1bd0987fe676b9cad027"), "2" : 3 }
Mongo不会改变关键部分的价值。如何适应它?
答案 0 :(得分:1)
您需要动态构建查询。
var documents = [];
for(var i=0; i<3; i++) {
var doc = {};
doc[i] = i;
documents.push(doc);
}
db.collection.insert(documents)
然后db.collection.find()
产生:
{ "_id" : ObjectId("564a2296c68c7068c12fb206"), "0" : 0 }
{ "_id" : ObjectId("564a2296c68c7068c12fb207"), "1" : 1 }
{ "_id" : ObjectId("564a2296c68c7068c12fb208"), "2" : 2 }
请注意,将字符串整数作为字段名称不是一个好习惯