如何从MongoDB中的数组中删除元素?

要从数组中删除元素,请使用$pull。让我们创建一个包含文档的集合-

> db.demo279.insertOne({id:[101,103,105,110]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e490af7dd099650a5401a58")
}
> db.demo279.insertOne({id:[107,111,110]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e490b06dd099650a5401a59")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo279.find();

这将产生以下输出-

{ "_id" : ObjectId("5e490af7dd099650a5401a58"), "id" : [ 101, 103, 105, 110 ] }
{ "_id" : ObjectId("5e490b06dd099650a5401a59"), "id" : [ 107, 111, 110 ] }

以下是从数组&minus';中删除元素的查询:

> db.demo279.update({},{$pull:{id:110}},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

find()方法的帮助下显示集合中的所有文档-

> db.demo279.find();

这将产生以下输出-

{ "_id" : ObjectId("5e490af7dd099650a5401a58"), "id" : [ 101, 103, 105 ] }
{ "_id" : ObjectId("5e490b06dd099650a5401a59"), "id" : [ 107, 111 ] }