如何根据 MongoDB 中的 _id 删除文档?


要在 MongoDB 中根据 _id 删除文档,请使用以下语法

db.yourCollectionName.remove({“_id”:ObjectId(“yourId”});

让我们首先实现以下查询,以使用文档创建集合

>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Larry","UserAge":23,"UserCountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986f9f330fd0aa0d2fe4a3")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Sam","UserAge":21,"UserCountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fb4330fd0aa0d2fe4a4")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Chris","UserAge":24,"UserCountryName":"US"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fc0330fd0aa0d2fe4a5")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"Robert","UserAge":26,"UserCountryName":"UK"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fcf330fd0aa0d2fe4a6")
}
>db.removeDocumentOnBasisOfId.insertOne({"UserName":"David","UserAge":28,"UserCountryName":"AUS"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c986fed330fd0aa0d2fe4a7")
}

以下是对集合中所有文档使用 find() 方法进行展示的查询

> db.removeDocumentOnBasisOfId.find().pretty();

将生成以下输出

{
   "_id" : ObjectId("5c986f9f330fd0aa0d2fe4a3"),
   "UserName" : "Larry",
   "UserAge" : 23,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c986fb4330fd0aa0d2fe4a4"),
   "UserName" : "Sam",
   "UserAge" : 21,  
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fc0330fd0aa0d2fe4a5"),
   "UserName" : "Chris",
   "UserAge" : 24,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c986fcf330fd0aa0d2fe4a6"),
   "UserName" : "Robert",
   "UserAge" : 26,
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fed330fd0aa0d2fe4a7"),
   "UserName" : "David",
   "UserAge" : 28,
   "UserCountryName" : "AUS"
}

以下是根据 _id 删除文档的查询

> db.removeDocumentOnBasisOfId.remove({"_id":ObjectId("5c986fc0330fd0aa0d2fe4a5")});
WriteResult({ "nRemoved" : 1 })

我们已在上面根据其 _id 删除了 Chris 的记录。现在,从集合中显示所有文档,以检查文档是否已被删除

> db.removeDocumentOnBasisOfId.find().pretty();

将生成以下输出

{
   "_id" : ObjectId("5c986f9f330fd0aa0d2fe4a3"),
   "UserName" : "Larry",
   "UserAge" : 23,
   "UserCountryName" : "US"
}
{
   "_id" : ObjectId("5c986fb4330fd0aa0d2fe4a4"),
   "UserName" : "Sam",
   "UserAge" : 21,
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fcf330fd0aa0d2fe4a6"),
   "UserName" : "Robert",
   "UserAge" : 26,
   "UserCountryName" : "UK"
}
{
   "_id" : ObjectId("5c986fed330fd0aa0d2fe4a7"),
   "UserName" : "David",
   "UserAge" : 28,
   "UserCountryName" : "AUS"
}

更新于:2019 年 7 月 30 日

166 次浏览

开启您的 职业生涯

完成课程即可获得认证

开始
广告
© . All rights reserved.