1. ホーム
  2. database

[解決済み] MongoDBのfindAndModifyとupdateの違いとは?

2022-04-15 16:38:49

質問

について、少し混乱しています。 findAndModify メソッドを使用します。と比べて何が優れているのでしょうか? update メソッドを使用することはできますか?私の場合、最初に項目を返して、それから更新するだけのような気がするのですが。しかし、なぜ最初にアイテムを返す必要があるのでしょうか?私は MongoDB: ザ・デフィニティブ・ガイド で、キューを操作したり、get-and-setスタイルのアトミック性を必要とする他の操作を実行するのに便利だと書いてあります。しかし、これをどのように実現するのかが分かりませんでした。どなたか説明していただけませんか?

どのように解決するのですか?

アイテムを取得してから更新すると、その2つのステップの間に別のスレッドによる更新がある可能性があります。 アイテムを先に更新してからそれを取得すると、その間に別の更新があり、更新したものとは異なるアイテムが返される可能性があります。

アトミックに行うということは、更新した項目とまったく同じ項目を取得することが保証されるということです。