0
我已經或做UPSERT的工作方式不同?我試圖通過添加/刪除以下文件MongoDB的UPSERT失敗
{
"_id" : ObjectId("56d2f6e83b6c835ebf12de33"),
"name" : "john",
"age" : 50,
"places" : [
"a",
"b",
"c"
],
"orders" : [
{
"_id" : 1,
"ordernumber" : 1,
"price" : 100,
"quantity" : 2
},
{
"_id" : 2,
"ordernumber" : "2",
"price" : 1400.0000000000000000,
"qty" : 10.0000000000000000
},
{
"_id" : 1.0000000000000000,
"ordernumber" : "2",
"price" : 1400.0000000000000000,
"qty" : 1.0000000000000000
},
{
"_id" : "1",
"ordernumber" : "2",
"price" : 1400.0000000000000000,
"qty" : 1.0000000000000000
}
]
}
發行以下更新插入一個新的子文檔,而不僅僅是更新document.Is有毛病查詢id字段的子文檔,但它仍然does not work.What我想要做的是爲名稱爲「john」的主文檔添加訂單子文檔,如果訂單確實存在,它會得到更新。
db.mx1.update(
{"name":"john"},
{
"$addToSet":{
"orders":
{
"_id":"1",
"ordernumber":"2",
"price":1400,
"qty":1
}
}
},
{"upsert":"true"}
);