更新MongoDB中数组内的元素?
要更新数组中的元素,请在MongoDB中使用$set。让我们创建一个包含文档的集合-
> db.demo494.insertOne( ... { ... ... "CollegeDetails" : [ ... { ... "CollegeName" : "MIT", ... "Fees" : 80000 ... }, ... { ... "CollegeName" : "SU", ... "Fees" : 90000 ... } ... ] ... } ... ) { "acknowledged" : true, "insertedId" : ObjectId("5e84a5c1b0f3fa88e22790c9") }
在find()方法的帮助下显示集合中的所有文档-
> db.demo494.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5e84a5c1b0f3fa88e22790c9"), "CollegeDetails" : [ { "CollegeName" : "MIT", "Fees" : 80000 }, { "CollegeName" : "SU", "Fees" : 90000 } ] }
以下是更新MongoDB中数组内元素的查询-
> db.demo494.update( ... ... { ... "CollegeDetails.CollegeName": "MIT" ... }, ... ... { ... $set: ... { ... "CollegeDetails.$.Fees" : 100000 ... } ... } ... ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
在find()方法的帮助下显示集合中的所有文档-
> db.demo494.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5e84a5c1b0f3fa88e22790c9"), "CollegeDetails" : [ { "CollegeName" : "MIT", "Fees" : 100000 }, { "CollegeName" : "SU", "Fees" : 90000 } ] }