MongoDB 中 deleteOne() 和 findOneAndDelete() 操作之間的區別是什麼?
findOneAndDelete() 根據過濾器和排序條件刪除集合中的單一文件,同時返回已刪除的文件。
deleteOne() 從集合中刪除單一文件。
讓我們看一個示例並建立一個帶有文件的集合 -
> db.demo448.insertOne({"Name":"Chris","Age":21});{
"acknowledged" : true,
"insertedId" : ObjectId("5e7a291cbbc41e36cc3caeca")
}
> db.demo448.insertOne({"Name":"David","Age":23});{
"acknowledged" : true,
"insertedId" : ObjectId("5e7a2926bbc41e36cc3caecb")
}
> db.demo448.insertOne({"Name":"Bob","Age":22});{
"acknowledged" : true,
"insertedId" : ObjectId("5e7a2930bbc41e36cc3caecc")
}使用 find() 方法顯示集合中的所有文件 -
> db.demo448.find();
這將產生以下輸出 -
{ "_id" : ObjectId("5e7a291cbbc41e36cc3caeca"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e7a2926bbc41e36cc3caecb"), "Name" : "David", "Age" : 23 }
{ "_id" : ObjectId("5e7a2930bbc41e36cc3caecc"), "Name" : "Bob", "Age" : 22 }以下是實現 deleteOne() 的查詢 -
> db.demo448.deleteOne({_id:ObjectId("5e7a2926bbc41e36cc3caecb")});這將產生以下輸出 -
{ "acknowledged" : true, "deletedCount" : 1 }使用 find() 方法顯示集合中的所有文件 -
> db.demo448.find();
這將產生以下輸出 -
{ "_id" : ObjectId("5e7a291cbbc41e36cc3caeca"), "Name" : "Chris", "Age" : 21 }
{ "_id" : ObjectId("5e7a2930bbc41e36cc3caecc"), "Name" : "Bob", "Age" : 22 }以下是實現 findOneAndDelete() 的查詢 -
> db.demo448.findOneAndDelete({"_id":ObjectId("5e7a2930bbc41e36cc3caecc")});這將產生以下輸出 -
{ "_id" : ObjectId("5e7a2930bbc41e36cc3caecc"), "Name" : "Bob", "Age" : 22 }使用 find() 方法顯示集合中的所有文件 -
> db.demo448.find();
這將產生以下輸出 -
{ "_id" : ObjectId("5e7a291cbbc41e36cc3caeca"), "Name" : "Chris", "Age" : 21 }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP