如何将元素推送到MongoDB中的现有数组?
要将元素推送到现有数组,请使用$addToSet运算符以及update()
。首先让我们创建一个包含文档的集合-
> db.pushElements.insertOne({"Comments":["Good","Awesome","Nice"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cd682597924bb85b3f48953") }
以下是在find()
方法的帮助下显示集合中所有文档的查询-
> db.pushElements.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5cd682597924bb85b3f48953"), "Comments" : [ "Good", "Awesome", "Nice" ] }
以下是将元素推送到MongoDB中现有数组的查询-
> db.pushElements.update( {_id:ObjectId("5cd682597924bb85b3f48953")}, { "$addToSet":{"Comments":"Cool"} }, upsert=true ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
让我们再次检查文档-
> db.pushElements.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5cd682597924bb85b3f48953"), "Comments" : [ "Good", "Awesome", "Nice", "Cool" ] }