如何从 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 ] }

更新于: 31-Mar-2020

240 次浏览

开始你的 职业

完成课程,获得认证

入门
广告