MongoDB查询如何从集合中删除整个数组

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

> db.demo609.insertOne({"ListOfSubject":["MySQL","MongoDB"]});{
   "acknowledged" : true, "insertedId" : ObjectId("5e974695f57d0dc0b182d62c")
}
> db.demo609.insertOne({"ListOfSubject":["Java"]});{
   "acknowledged" : true, "insertedId" : ObjectId("5e97469af57d0dc0b182d62d")
}

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

> db.demo609.find();

这将产生以下输出-

{ "_id" : ObjectId("5e974695f57d0dc0b182d62c"), "ListOfSubject" : [ "MySQL", "MongoDB" ] }
{ "_id" : ObjectId("5e97469af57d0dc0b182d62d"), "ListOfSubject" : [ "Java" ] }

这是从集合中删除整个数组的查询-

> db.demo609.update({},{$unset:{"ListOfSubject":""}},{multi:true});
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

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

> db.demo609.find();

这将产生以下输出-

{ "_id" : ObjectId("5e974695f57d0dc0b182d62c") }
{ "_id" : ObjectId("5e97469af57d0dc0b182d62d") }