2016-11-09 16 views
-1
{  

    "_id" : ObjectId("5822d0c92f136292e5e4a0cc"), 
    "Age" : "five", 
    "details" : [ 
       { 
        "Name" : "abc" 
       } 
      ]  
} 

如何在现有数组中添加新值。如下所示;
欲望输出:在Mongodb中添加新元素到数组?

{  

    "_id" : ObjectId("5822d0c92f136292e5e4a0cc"), 
    "Age" : "five", 
    "details" : [ 
       { 
        "Name" : "abc" 
        "Name" : "xyz" 
       } 
      ]  
} 

有了这个代码,我得到这样的输出: -

db.c1.update({"_id" : ObjectId("5822d0c92f136292e5e4a0cc")}, 
{$push:{"details":{"Name":"xyz"}}}) 

输出: -

{ 
"_id" : ObjectId("5822d0c92f136292e5e4a0cc"), 
"Age" : "five", 
"details" : [ 
    { 
     "Name" : "xyz" 
    }, 
    { 
     "Name" : "abc" 
    } 
    ] 
} 

请帮我out.Thanks在提前。

+2

所需输出不作出任何意义。您不能拥有包含多个相似键的**对象**。请参考这个问题http://stackoverflow.com/questions/13987365/how-to-insert-an-element-to-mongodb-internal-list –

回答

0

试试这个,但不能给相同名称字段在这里,我已经把namen更改名称字段

db.c1.find({}).forEach(function(doc){ 
    doc.insertupdatesession[0].name = "abc" 
    db.getCollection('cityMaster').save(doc); 
    })