MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBのdeleteOne()操作とfindOneAndDelete()操作の違いは何ですか?


findOneAndDelete()は、フィルターと並べ替えの基準に基づいてコレクションから単一のドキュメントを削除し、削除されたドキュメントを返します。

deleteOne()は、コレクションから1つのドキュメントを削除します。

例を見て、ドキュメントを使用してコレクションを作成しましょう-

> 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 }

  1. DirectX11とDirectX12の違いは何ですか?

    DirectXは、マルチメディアコンテンツをレンダリングし、グラフィカルハードウェアと通信するためにソフトウェアによって使用されるAPIまたはアプリケーションプログラミングインターフェイスのコレクションです。 DirectXの主要コンポーネントAPIであるDirect3Dは、ソフトウェアとグラフィックスハードウェア間の通信を処理します。すべてのハードウェアが異なるため、関数と呼び出しの標準化されたライブラリを使用してグラフィックカードと通信すると、ゲーム開発がスピードアップします。これはハードウェアアブストラクションと呼ばれ、APIの主な仕事です。 車について考えてみましょう。1台の車を運転

  2. C#のインターフェイスとクラスの違いは何ですか?

    インターフェイスは、フィールドまたはメソッドの実装がないクラスです。定義したメソッドを実装することはできません。 クラスは通常、インターフェースで定義されたメソッドを実装します。 インターフェース インターフェイスは、インターフェイスのメンバーであるプロパティ、メソッド、およびイベントを定義します。インターフェイスには、メンバーの宣言のみが含まれます。メンバーを定義するのは、派生クラスの責任です。 public interface interface_name {    // interface_members } クラス クラスはデータ型の青写真です。これは実際には