并没找到为什么不能直接插入,这个能用,就这样吧 ...
user:
{
"_id" :ObjectId("57e89964b316d2e13cc0ba9b"),
"username" :"marky@123.com",
"nickname" : "marky",
"address" : "云端路1024号,柯南私募基金大厦",
"contact" :"13141250012",
"created" :"2012-07-07"
}
order:
{
"_id" :ObjectId("57e89b3ab316d2e13cc0ba9c"),
"orderno" : "YD000001",
"title" : "席梦思抱枕一对",
"oriprice" : 80,
"discount" : "0.70",
"saleprice" : "56.00",
"type" : "居家",
"coupon" : 0
}
{
"_id" :ObjectId("57e89bcfb316d2e13cc0ba9d"),
"orderno" : "YD000002",
"title" : "席梦思抱软硬适中床垫",
"oriprice" : 280,
"discount" : "0.80",
"saleprice" : "224.00",
"type" : "居家",
"coupon" : 0
}
操作
>db.user.update({'orders':{$exists:false}},{$set:{'orders':[{'_id' :ObjectId("57e89b3ab316d2e13cc0ba9c"),'orderno':'YD000001','title':'席梦思抱枕一对','oriprice':80,'discount':0.70,'saleprice':56.00,'type':'居家','coupon':0}]}})
上面语句的意识是如果原文档中不存在orders字段,那么新增该字段,并添加对应的内容,结果显示如下则说明嵌入成功,如下:
{
"_id" :ObjectId("57e89964b316d2e13cc0ba9b"),
"username" :"marky@123.com",
"nickname" : "marky",
"address" : "云端路1024号,柯南私募基金大厦",
"contact" :"13141250012",
"created" :"2012-07-07",
"orders" : [
{
"_id" :ObjectId("57e89b3ab316d2e13cc0ba9c"),
"orderno" :"YD000001",
"title" : "席梦思抱枕一对",
"oriprice" : 80,
"discount" : 0.7,
"saleprice" : 56,
"type" : "居家",
"coupon" : 0
}
]
}