問題タブ [mongodb-csharp-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
132 参照

mongodb - writeconcern 0 unacknowledged を使用しているときに、mongodb データベースで挿入エラーをチェックする方法はありますか?

私のシステムでは、毎秒数千のリクエストから大量のデータベースへの書き込みが必要です。応答時間を最小限に抑えるために、書き込み懸念について学び始めました。 unacknowledged / writeconcern 0 を使用すると役立ちますが、予想どおり、「ファイア アンド フォーゲット」モードでは、アプリケーションは問題があるかどうかを認識しません。エラーが発生した場合に監視または通知する方法があるかどうかを知りたいです。どの書き込みが失敗したかを必ずしも正確に知る必要はなく、失敗の数だけを知る必要があります。ソリューションは C# である必要はなく、(アプリケーション サーバーではなく) データベース サーバー自体で実行できます。

私の環境は、12 月 7 日時点で最新の C# ドライバーと最新の MongoDb であり、Ubuntu 14.04 で実行されています。アプリケーション サーバーは Windows 2012/IIS8 ASP.NET C# です。

0 投票する
2 に答える
15988 参照

c# - C# ドライバーを使用した MongoDB クエリのページング

C# 用の MongoDB ドライバーのバージョン 2.2 を使用しています。クエリをページ分割したい : クエリへの応答には、現在のページのアイテムと、クエリに一致するアイテムの総数が含まれている必要があります。

1つのクエリを実行したい。mongo シェルを使用すると、次のように実現できます。

しかし、C# ドライバーでは、1 つのクエリだけでそれを行う方法がわかりません。

出来ますか ?いくつかのアイデア?

0 投票する
1 に答える
1417 参照

c# - MongoDB C# 2.x ドライバー ElemMatch と辞書

ElemMatch を使用して、2.2 ドライバーを使用して MongoDB でドキュメントを検索しようとしていますが、成功しません。次のような例外が発生します。

System.InvalidOperationException : フィールド 'EnabledForProduct' のシリアライザーは、IBsonArraySerializer を実装し、アイテムのシリアル化情報を提供する必要があります。

私のクラスは次のようになります。

私の ClassMap は次のようになります。

次のようなフィルターを使用しようとすると、例外が発生します。

これは、1.x ドライバーで問題なく動作していました。

私が間違っていることを誰かが知っていますか?

0 投票する
1 に答える
1260 参照

c# - oData フィルターが MongoDB と Web API のナビゲーション プロパティで機能しない

コントローラは次のようになります

MongoDb リポジトリでは、コレクションの AsQueryable を返しています。

MongoDB ドキュメントは次のようになります

ID は ObjectId.GenerateNewId().ToString() を使用して生成されたため、文字列として格納されます。

Node と NodeGroup は純粋な POCO です

問題

のような oData URI

正常に動作します。

しかし、Navigation プロパティでフィルタリングしようとすると

それは私に例外を与えます

メッセージ: "式のシリアル化情報を特定できません: ConditionalExpression.",

0 投票する
1 に答える
2629 参照

c# - c# Mongodb 2.0 ドライバーは UpdateManyAsync の結果を取得します

更新後/更新前に更新されたコレクションを取得する方法はありますか? 私が考えることができるのはかなり重いです。

  1. フィルターを使用して更新したいものを取得します。
  2. 以前の状態で取得したすべてを更新します
  3. もう一度 ID ですべて取得し、何が更新されたかを確認します。

なぜこれが必要なのですか?

データベースから常にデータをフェッチするサービスがあります。ステータスに応じてアトミックに取得したい。

たとえば、フィールド Status を含むドキュメントのステータスが 1 の場合、サービスでそれをフェッチし、プロセスでアトミックに 2 に変更する必要があるため、他のすべてのコンポーネントが何らかの理由で私をオーバーライドすることはありません。

更新は次のようになります。

方向性は?

ティア。