6

mongodb の同じドキュメントでより多くのユーザーが同時に操作できる Web アプリケーションを作成しています。私は mean.io スタックを使用していますが、まったく初めてです。マングースはどのように同時実行を管理するのだろうと思っていました。すべての「ユーザー クリック」操作は、最初に読み取りを実行してドキュメントを取得し、いくつかの計算後に保存を実行します。もちろん、読み取り-計算-保存のシーケンスはアトミックではありません。マングースは「最後の変更が優先される」ポリシーで動作しますか、それともバージョン管理エラーをスローしますか? この場合、キューを使用する意味はありますか?

感謝をこめて。

4

1 に答える 1

6

はい、最後の変更が勝ちます。

キューは問題を解決するための良いオプションかもしれませんが、他に 2 つの方法を提案します。

  1. $inc ( http://docs.mongodb.org/manual/reference/operator/update/inc/ )などのより高度な mongodb コマンドを使用して、アトミックに計算できます (計算が複雑すぎる場合は、おそらく不可能です)。
  2. いつでも正確なカウントを利用できる必要がない場合は、「ビッグデータ」アプローチを使用して、生のクリック情報を保存するだけで済みます。データが必要なときはいつでも (または 1 時間ごとまたは 1 日ごとに)、mongodb 集計フレームワークまたはその mapreduce 機能を使用して、正しいカウントを計算できます。
于 2014-01-20T08:29:48.833 に答える