更新或插入对象:
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(9),
"AS" : NumberInt(9)
},
如果存在 Id=1190001 且 TypeNo = 2,我想更新 Results 数组元素,否则将新元素插入 Id=1190001 且 TypeNo = 2 的数组中。
可能有多个文档属于此结果数组。所有文件都必须受到影响。
{
"_id" : ObjectId("64ba3c55b9e000058c561224"),
"FData" : {
//otherproperties,
"IC" : {
//otherproperties,
"iEv" : [
{
//otherproperties,
"nev" : NumberInt(1169644),
"Results" : [
{
"Id" : NumberInt(1169644),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(3),
"AS" : NumberInt(0)
},
{
"Id" : NumberInt(1169644),
"TypeNo" : NumberInt(1),
"HS" : NumberInt(3),
"AS" : NumberInt(0)
}
],
},
{
//otherproperties,
"nev" : NumberInt(1190001),
"Results" : [
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(1),
"HS" : NumberInt(0),
"AS" : NumberInt(1)
},
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(1),
"AS" : NumberInt(1)
}
]
}
]
}
}
}
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(9),
"AS" : NumberInt(9)
},
条件1预期结果
{
"_id" : ObjectId("64ba3c55b9e000058c561224"),
"FData" : {
//otherproperties,
"IC" : {
//otherproperties,
"iEv" : [
{
//otherproperties,
"nev" : NumberInt(1169644),
"Results" : [
{
"Id" : NumberInt(1169644),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(3),
"AS" : NumberInt(0)
},
{
"Id" : NumberInt(1169644),
"TypeNo" : NumberInt(1),
"HS" : NumberInt(3),
"AS" : NumberInt(0)
}
],
},
{
//otherproperties,
"nev" : NumberInt(1190001),
"Results" : [
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(1),
"HS" : NumberInt(0),
"AS" : NumberInt(1)
},
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(9), //modified
"AS" : NumberInt(9) //modified
}
]
}
]
}
}
}
更新或插入对象:
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(3),
"HS" : NumberInt(11),
"AS" : NumberInt(11)
},
条件2预期结果
{
"_id" : ObjectId("64ba3c55b9e000058c561224"),
"FData" : {
//otherproperties,
"IC" : {
//otherproperties,
"iEv" : [
{
//otherproperties,
"nev" : NumberInt(1169644),
"Results" : [
{
"Id" : NumberInt(1169644),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(3),
"AS" : NumberInt(0)
},
{
"Id" : NumberInt(1169644),
"TypeNo" : NumberInt(1),
"HS" : NumberInt(3),
"AS" : NumberInt(0)
}
],
},
{
//otherproperties,
"nev" : NumberInt(1190001),
"Results" : [
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(1),
"HS" : NumberInt(0),
"AS" : NumberInt(1)
},
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(2),
"HS" : NumberInt(1),
"AS" : NumberInt(1)
},
//Inserted new element
{
"Id" : NumberInt(1190001),
"TypeNo" : NumberInt(3),
"HS" : NumberInt(11),
"AS" : NumberInt(11)
},
//Inserted new element
]
}
]
}
}
}