如何从 MongoDB 文档中的双重嵌套数组中删除一个元素?
若要从 MongoDB 文档中的双重嵌套数组中删除元素,可以使用 $pull 运算符。
为了理解这一概念,让我们创建一个包含文档的集合。用于使用文档创建集合的查询如下所示−
> db.removeElementFromDoublyNestedArrayDemo.insertOne(
... {
... "_id" : "1",
... "UserName" : "Larry",
... "UserDetails" : [
... {
... "UserCountryName" : "US",
... "UserLocation" : [
... {
... "UserCityName" : "New York"
... },
... {
... "UserZipCode" : "10001"
... }
... ]
... }
... ]
... }
... );
{ "acknowledged" : true, "insertedId" : "1" }
> db.removeElementFromDoublyNestedArrayDemo.insertOne(
... {
... "_id" : "2",
... "UserName" : "Mike",
... "UserDetails" : [
... {
... "UserCountryName" : "UK",
... "UserLocation" : [
... {
... "UserCityName" : "Bangor"
... },
... {
... "UserZipCode" : "20010"
... }
... ]
... }
... ]
... }
... );
{ "acknowledged" : true, "insertedId" : "2" }在集合中显示包含 find() 方法的所有文档。该查询如下所示 −
> db.removeElementFromDoublyNestedArrayDemo.find().pretty();
输出如下所示 −
{
"_id" : "1",
"UserName" : "Larry",
"UserDetails" : [
{
"UserCountryName" : "US",
"UserLocation" : [
{
"UserCityName" : "New York"
},
{
"UserZipCode" : "10001"
}
]
}
]
}
{
"_id" : "2",
"UserName" : "Mike",
"UserDetails" : [
{
"UserCountryName" : "UK",
"UserLocation" : [
{
"UserCityName" : "Bangor"
},
{
"UserZipCode" : "20010"
}
]
}
]
}以下是用于从 MongoDB 文档中双重嵌套数组中删除元素的查询−
> db.removeElementFromDoublyNestedArrayDemo.update(
... { _id : "2" },
... {$pull : {"UserDetails.0.UserLocation" : {"UserZipCode":"20010"}}}
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })让我们借助 find() 来检查集合中的文档。查询如下所示 −
> db.removeElementFromDoublyNestedArrayDemo.find().pretty();
输出如下所示 −
{
"_id" : "1",
"UserName" : "Larry",
"UserDetails" : [
{
"UserCountryName" : "US",
"UserLocation" : [
{
"UserCityName" : "New York"
},
{
"UserZipCode" : "10001"
}
]
}
]
}
{
"_id" : "2",
"UserName" : "Mike",
"UserDetails" : [
{
"UserCountryName" : "UK",
"UserLocation" : [
{
"UserCityName" : "Bangor"
}
]
}
]
}现在,字段 “UserZipCode”:“20010” 已从双重嵌套数组中删除。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP