Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database $inc在mongoDB中具有多个条件和不同的更新值_Database_Mongodb - Fatal编程技术网

Database $inc在mongoDB中具有多个条件和不同的更新值

Database $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的库存量减少2,pId 2的库存量减少3

{
“类别”:“电子产品”,
“产品”:[
{
“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 } ] }
)