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"}
);