如何删除 MongoDB 中数组字段中的所有元素?
你可以为此使用 $set 运算符。语法如下:-
db.yourCollectionName.update({}, { $set : {"yourFieldName": [] }} , {multi:true} );为了理解以上语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下:-
> db.deleteAllElementsInArrayDemo.insertOne({"InstructorName":"Larry","InstructorTechnicalSubject":["Java","MongoDB"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8fb971d3c9d04998abf00e")
}
> db.deleteAllElementsInArrayDemo.insertOne({"InstructorName":"Mike","InstructorTechnicalSubject":["C","C++","Python"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8fb98ad3c9d04998abf00f")
}使用 find() 方法显示集合中的所有文档。查询如下:-
> db.deleteAllElementsInArrayDemo.find().pretty();
以下是输出:-
{
"_id" : ObjectId("5c8fb971d3c9d04998abf00e"),
"InstructorName" : "Larry",
"InstructorTechnicalSubject" : [
"Java",
"MongoDB"
]
}
{
"_id" : ObjectId("5c8fb98ad3c9d04998abf00f"),
"InstructorName" : "Mike",
"InstructorTechnicalSubject" : [
"C",
"C++",
"Python"
]
}以下是删除数组字段中所有元素的查询:-
> db.deleteAllElementsInArrayDemo.update({}, { $set : {"InstructorTechnicalSubject": [] }} , {multi:true} );
WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })现在,让我们使用 find() 来检查集合中的所有文档。查询如下:-
> db.deleteAllElementsInArrayDemo.find().pretty();
以下是输出。我们已经删除了“InstructorTechnicalSubject”数组字段的所有元素
{
"_id" : ObjectId("5c8fb971d3c9d04998abf00e"),
"InstructorName" : "Larry",
"InstructorTechnicalSubject" : [ ]
}
{
"_id" : ObjectId("5c8fb98ad3c9d04998abf00f"),
"InstructorName" : "Mike",
"InstructorTechnicalSubject" : [ ]
}
Advertisement
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP