問題タブ [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 投票する
2 に答える
3217 参照

c# - C# を使用した MongoDB での複数レベルのネストされた配列のクエリ、フィルタリング、および更新

この MongoDB ドキュメントがあります。私は MVC アプリケーションを開発しており、C# を使用してコメント配列 (「更新後のコメント」へのコメント付きの説明) を更新しようとしています。新しいmongodbバージョンを使用しています。

私はこれを使ってみました:

フィルターも変えてみた

どちらの場合も、コメントのクエリ、フィルター、および更新を行うことができません。

このドキュメントのコメントを見つけて更新する方法を教えてください。どんな提案でも大歓迎です!

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

c# - JSON リーダーは値を予期していましたが、「関数」が見つかりました

BsonJavascript オブジェクトを含むコレクションがあります。

ご覧のとおり、「MapFunction」フィールドの値は BsonJavascript です。このデータを正常にエクスポートおよびインポートできます。しかし、エクスポートされた json を BsonDocument に逆シリアル化すると、次のエラーが発生します。

ところで、私は公式の C# 2.2 ドライバーを使用しており、逆シリアル化コードは以下のとおりです。

編集

関数を文字列として定義し、コード内で BsonJavascriptFunction に変換しました。これで私の問題は解決しました。返信ありがとう

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

c# - C#mongodb 2.0配列の順序付けられた部分を見つけて射影する

次のコードブロックがあります。

私は3つのフィールドを持つこのCompetitionコレクションを持っています

ここのフィルターは にありCompetition._Idます。ロゴとランクの昇順で最初の 5 つのランク付けされたチームを取得したい (count値によって与えられる) リストは巨大になる可能性があるため、ここで Project (または Fields を使用した代替ソリューション) を使用したいのですが、それはできません。うまくいかないようです。問題:

1. 2 番目で、TeamRanks を無視するタイプですrstringProject

2. 上位 5 チームのみを昇順で取得するにはどうすればよいですか?

ティア。

編集

並べ替え、スキップ、制限のすべてが競技で行われていることに気付きました。もちろん、TeamRanks にも適用したいと考えています。したがって、たとえば、メソッドが count = 7 といくつかの CompetitionId を受け取った場合、メソッドは提供された ID を持つ競技を返す必要があり、その中で上位 7 チームが注文されました..

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

c# - C# mongodb ObjectId の使用リスク

Mongodb ObjectId オブジェクトを見ていました。私のクライアントに公開するのは安全ではないオブジェクトのようです(彼自身のSessionIdであっても)。ただし、次のコードを使用してランダムな ObjectId を生成しています。

連続した ID を取得することがありますが、ユーザーが 100 万の ID を推測して、最終的に実際の ID を取得できるようにしたくありません。

c#でmongodbを引き続き使用し、安全なIDを維持する方法はありますか? さて、「https を使う」という人もいますが、それは問題ではありません。誰かが Web にログインし、タイプ ObjectId の sessionId を取得して、推測しようとする可能性があります。

そのようなことが起こる可能性をどのように減らすことができますか?

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

c# - 位置演算子の問題を伴うc#mongodb upsert

配列のみを含むオブジェクトがあるとしましょう

配列内の特定のインデックスを Id で更新したい場合、

Idが見つかりませんでした新しいオブジェクトをデータベースに挿入したいのですが、挿入されたとき

この提供された Id と、提供されたインデックスに提供された値を持つ arr があると想定されます。

これまでのところとても良いですが、それは起こりません。

代わりに、Id は正常に挿入されますが、配列は配列ではなく、提供された値を持つ int 値になります。

それは既知のバグですか?とにかくその周りにありますか?

ティア

古い質問の参照ですが、2年前のことです: こちら

編集

デフォルトの値でarrを登録しています:

また、registerMap の代わりにタグを追加しようとしました:

そして私は受け取っています:

クラス DatabaseManager.MongoEntities.A の arr プロパティをデシリアライズ中にエラーが発生しました: BsonType 'Document' から 'int[]' をデシリアライズできません。

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

mongodb-.net-driver - 辞書内の 10 進数値を mongodb csharp ドライバーで double として強制的にシリアル化するにはどうすればよいですか?

私は次の辞書を持っています:

デフォルトでは、次のようにシリアル化されます。

DecimalSerializer を次のようにオーバーライドすると:

これは、「_v」値がどのようにシリアル化されるかにのみ影響します。たとえば、次のようになります。

期待される結果:

お知らせ下さい