2011-01-03 1 views
2

文書の2番目のobjectIDを使用して、更新プログラムの並行性をテストすることはできますか?MongoDB:ドキュメントで2番目のobjectIDを使用して、更新時の並行性チェックに使用できますか?

プロジェクト:マイクロソフトMVC2/C#/モンゴ1.6/10Gen C#のドライバ(v0.9.0)

私は並行性の問題(とNOSQLリポジトリ)のまわりで私の頭をラップしようとしています。これはリレーショナルデータベース以外での私の最初のプロジェクトです.Mongoとの並行性の慣習が何であるかわかりません。

過去のプロジェクト(SQL Serverの)だから、MongoDBのドキュメント全体page on concurrencyを持っている/タイムスタンプ列の周り

おかげ

答えて

1

を同時実行チェックを包みました。

ここの大きな鍵は、実際にはです。「どのような並行性が必要ですか?」並行処理には、実際に考慮する必要のある大多数のエッジケースがあります。

_id + timestampを使用するという概念は、MongoDB(またはユニークなの「これが更新されました」というキーのいずれかの形式)で確実に機能します。編集: "findAndModify"でこの文書をチェックしてください。これはおそらくあなたが望むものです。

MongoDBには、どのように更新を行うかという点を中心に、クールな並行性機能が満載されています。特に、このセクションのUpdate Modifiersを参照してください。これらの特別な操作はであり、 "単一の文書上のアトミック"であり、多くの一般的なケースを処理する傾向があります。

変数を増分したいですか? $incを使用すると、フィールドが存在しない場合でも作成されます。たくさんのものを持っていて、それが存在しない場合にだけ何かを追加したいのですか? $addToSetコマンドを使用します。 Mongoには、このようなアレイ操作の全ホストがあります。

これらは、_id + timestampのレベルにはあま​​りありませんが、並行性制御のいくつかの一般的なケースを処理します。

+0

ありがとうございます – MikeSullivan

関連する問題