2015-11-16 134 views
1

我是MongoDB的新手。我想知道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 } 

蒙戈確實在關鍵部分沒有變化值。如何適應它?

回答

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 } 

請注意,這不是一個很好的做法,整數的字符串作爲字段的名稱