.update()
の両方について表示するそれぞれのドキュメントがあります および.findAndModify()
これは.findOneAndUpdate()
のルートメソッドです ここ。
ただし、主な違いは次のとおりです。
-
update() :コレクション内のクエリ条件に一致する「1つ以上の」ドキュメントに対してアトミック更新操作を実行することを目的としています。応答で変更されたドキュメントの数を返します。
-
findOneAndUpdate() :「単一の」ドキュメントの更新ステートメントの処理と、その「単一の」ドキュメントのコンテンツの取得の両方を目的としています。返される状態は、操作に渡される「new」オプションの値によって異なります。
true
の場所 「変更された」ドキュメントが返されます。false
の場合 「元の」ドキュメントは、変更前に返されます。後者の形式がデフォルトのオプションです。
要するに。 1つは「一括」で変更することを目的としており、結果としてドキュメントの内容を気にする必要はありません。もう1つは、単一のドキュメントを変更して、ドキュメントのコンテンツを結果として返すことを目的としています。
それが違いです。