MongoDB中使用特定键更新数组中的对象
首先让我们创建一个包含文档的集合-
>db.demo419.insertOne({"ProductInformation":[{"ProductName":"Product-1","ProductPrice":500},{"ProductName":"Product-2","ProductPrice":600}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e724762b912067e57771ae8") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo419.find();
这将产生以下输出-
{ "_id" : ObjectId("5e724762b912067e57771ae8"), "ProductInformation" : [ { "ProductName" : "Product-1", "ProductPrice" : 500 }, { "ProductName" : "Product-2", "ProductPrice" : 600 } ] }
以下是使用特定键更新数组中对象的查询-
> db.demo419.update({'ProductInformation.ProductName' : "Product-1" }, { $set : { 'ProductInformation.$.ProductPrice' : 1250}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }
在find()方法的帮助下显示集合中的所有文档-
> db.demo419.find();
这将产生以下输出-
{ "_id" : ObjectId("5e724762b912067e57771ae8"), "ProductInformation" : [ { "ProductName" : "Product-1", "ProductPrice" : 1250 }, { "ProductName" : "Product-2", "ProductPrice" : 600 } ]