从 MongoDB 中的单个数组元素中取消设置一个属性?
使用 $unset 运算符来取消一个属性设置。我们首先创建一个包含文档的集合,代码如下:-
> db.unsetAnAttributeDemo.insertOne(
... {
... _id: 1,
... "StudentDetails": [
... {
... "StudentFirstName": "Ramit",
... "StudentCountryName":"UK"
... },
... {
... "StudentFirstName": "Bob",
... "StudentCountryName":"US"
... },
... {
... "StudentFirstName": "Carol",
... "StudentCountryName":"AUS"
...
... }
... ]
... }
... );
{ "acknowledged" : true, "insertedId" : 1 }以下查询通过 find() 方法显示集合中的所有文档,代码如下:-
> db.unsetAnAttributeDemo.find().pretty();
这将生成以下输出:-
{
"_id" : 1,
"StudentDetails" : [
{
"StudentFirstName" : "Ramit",
"StudentCountryName" : "UK"
},
{
"StudentFirstName" : "Bob",
"StudentCountryName" : "US"
},
{
"StudentFirstName" : "Carol",
"StudentCountryName" : "AUS"
}
]
}以下查询取消从一个数组元素中设置一个属性。值为“AUS”的“StudentCountryName”属性将被取消设置,代码如下:-
> db.unsetAnAttributeDemo.update({"StudentDetails.StudentCountryName": "AUS"}, {$unset:
{"StudentDetails.$.StudentCountryName": 1}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })让我们显示集合中的文档,以检查“StudentCountryName”值“AUS”的属性是否已被清除,代码如下:-
> db.unsetAnAttributeDemo.find().pretty();
这将生成以下输出:-
{
"_id" : 1,
"StudentDetails" : [
{
"StudentFirstName" : "Ramit",
"StudentCountryName" : "UK"
},
{
"StudentFirstName" : "Bob",
"StudentCountryName" : "US"
},
{
"StudentFirstName" : "Carol"
}
]
}
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP