僅刪除 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 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始
廣告