仅删除 MongoDB 中的一个文档?


若要仅移除单一文档,请在 MongoDB 中使用 remove() 方法。让我们首先创建一个包含文档的集合 −

> db.removeOnlyOneDocumentDemo.insertOne({"FirstName":"John","LastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6ca2f9cb58ca2b005e674")
}
> db.removeOnlyOneDocumentDemo.insertOne({"FirstName":"Carol","LastName":"Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6ca399cb58ca2b005e675")
}
> db.removeOnlyOneDocumentDemo.insertOne({"FirstName":"David","LastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cc6ca429cb58ca2b005e676")
}

以下是使用 find() 方法显示集合中所有文档的查询 −

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

此查询将生成以下输出 −

{
   "_id" : ObjectId("5cc6ca2f9cb58ca2b005e674"),
   "FirstName" : "John",
   "LastName" : "Smith"
}
{
   "_id" : ObjectId("5cc6ca399cb58ca2b005e675"),
   "FirstName" : "Carol",
   "LastName" : "Taylor"
}
{
   "_id" : ObjectId("5cc6ca429cb58ca2b005e676"),
   "FirstName" : "David",
   "LastName" : "Miller"
}

以下是仅在 MongoDB 中删除单一文档的查询。此处我们移除“FirstName”为 David 的文档 −

> var documentValue = db.removeOnlyOneDocumentDemo.findOne({'FirstName':'David'});
> db.removeOnlyOneDocumentDemo.remove({_id:documentValue._id});
WriteResult({ "nRemoved" : 1 })

让我们检查是否从集合中移除了一份文档 −

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

此查询将生成以下输出 −

{
   "_id" : ObjectId("5cc6ca2f9cb58ca2b005e674"),
   "FirstName" : "John",
   "LastName" : "Smith"
}
{
   "_id" : ObjectId("5cc6ca399cb58ca2b005e675"),
   "FirstName" : "Carol",
   "LastName" : "Taylor"
}

更新于: 2019-07-30

103 次浏览

开启你的 职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.