Database $inc在mongoDB中具有多个条件和不同的更新值
我有一个产品集合,数据如下所示。我必须编写一个更新查询,以将pId 1的库存量减少2,pId 2的库存量减少3Database $inc在mongoDB中具有多个条件和不同的更新值,database,mongodb,Database,Mongodb,我有一个产品集合,数据如下所示。我必须编写一个更新查询,以将pId 1的库存量减少2,pId 2的库存量减少3 { “类别”:“电子产品”, “产品”:[ { “pId”:1, “股票”:20 }, { “pId”:2, “股票”:50 }, { “pId”:3, “股票”:40 } ] }您需要单独定义数组元素匹配条件: db.col.update( { category: "electronics" }, { $inc: { "products.$[p1].stock":
{
“类别”:“电子产品”,
“产品”:[
{
“pId”:1,
“股票”:20
},
{
“pId”:2,
“股票”:50
},
{
“pId”:3,
“股票”:40
}
]
}
您需要单独定义数组元素匹配条件:
db.col.update(
{ category: "electronics" },
{ $inc: { "products.$[p1].stock": -2, "products.$[p2].stock": -3 } },
{ arrayFilters: [ { "p1.pId": 1 }, { "p2.pId": 2 } ] }
)