我已经保存了这个当前值
db.mycol.save({name:'elbren',lastname:'antonio',subjects:{}})
结果:"_id" : ObjectId("576db356332a8fc87bf769be"),
"name" : "elbren",
"lastname" : "antonio",
"subjects" : {
}
我需要的是这个结果:
"_id" : ObjectId("576db356332a8fc87bf769be"),
"name" : "elbren",
"lastname" : "antonio",
"subjects" :
{
{
code: "sub1",
Description: "desc1",
Unit: 3
},
code: "sub2",
Description: "desc2",
Unit: 3
}
什么是最好的事情做这是我想添加主题到_id?
要创建文档,以便获得理想的结果,只需直接编写:
db.mycol.save({name:'elbren',lastname:'antonio',subjects:{
{
code: "sub1",
Description: "desc1",
Unit: 3
},
code: "sub2",
Description: "desc2",
Unit: 3
}})
如果你想改变("修复")现有的文档,你必须使用update
:
db.mycol.update(
{ name : "elbren", lastname : "antonio" },
{ $set: { subjects:{
{
code: "sub1",
Description: "desc1",
Unit: 3
},
code: "sub2",
Description: "desc2",
Unit: 3
}
}}
);
这里{ name : "elbren", lastname : "antonio" }
是一个匹配您想要的文档的查询,第二部分是更新参数。
使用"$push"操作符将数组添加到当前对象
// in php e.g:
['$push'=>['fild_value'=>array('mail=>'me@mail.com','tag'=>'personal')]]
More result this:
{
"_id": 12345678,
"fild_value": [
{
"mail":"me@mail.com",
"tag":"personal"
},
{
"mail":"job@mail.com",
"tag":"worker"
}
]
}
MongoDB提供数组操作符($push/$pull,$addToSet,$elemMatch等)