問題タブ [10gen-csharp-driver]

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 に答える
8428 参照

mongodb - MongoDB と C# ドライバーを使用してサブドキュメント コレクションをクエリする方法

私は次の構造を持っています:

保存すると、次のようなものが生成されます。

私がやりたいことは、既に作成されたスレッドがある場合、同じスレッドを使用し、ユーザーが同じユーザーに送信しているか、またはその逆であるかに基づいて、そのスレッドにメッセージを追加することです。

私はこのようなものがうまくいくと思っていましたが、null (値なし) を返しています:

私はすべてが含まれているように考えていますか?またはすべてを持っていますか?クエリの作成方法がよくわかりません。

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

mongodb - c# を使用して mongodb のフィールドをインクリメントする方法

これはかなり簡単だと思いましたが、私の値は同じままです (0)。

私がやりたいのは、ユーザーが読んでいないメッセージを受け取ったときに UnreadMessages フィールドをインクリメントし、読んだときにそれをデクリメントすることです。したがって、次のようなコードが機能すると思いました。

これらを実行した後、エラーはスローされませんが、値も変更されません。いいえ、上記のコードは解釈される可能性があるため、次々に実行していません:)

アップデート

これが私のヘルパークラスです:

そしてTravisの答えのおかげで、私はこれをやってのけることができました:

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

c# - C# 10gen と mongo: インターフェイスとしてのメンバーの逆シリアル化

全て

次の例を検討してください。

マークされた行は例外をスローします

クラス MongoDriverTest.Program+CollectionHolder の Collection プロパティの逆シリアル化中にエラーが発生しました: クラス MongoDriverTest.Program+MyCollection の Capacity プロパティの逆シリアル化中にエラーが発生しました: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

よくわかりませんが、これは 10gen mongo ドライバーのバグですか、それとも実装が不可能ですか? これはバグとして投稿する必要があると思いますか?

さらに、この種のエラーを回避する最善の方法は何ですか?

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

c# - MongoDBに一時データをキャッシュする方法は?

クライアントサーバーアプリケーションがあります。そしてその一部として、私はクライアント側でpaginalアプローチを実装する必要があります。サーバー側でdb (MongoDBと10genのドライバーを使用)からデータフットプリントを作成し、クライアントの要求に応じてフットプリントの一部を提供します。

フットプリントの保存に問題があります。メソッドの完了後にデータを保存しないため、ローカル変数としてサーバーに保存できません。フットプリントデータをMongoDBキャッシュとして保存できることがわかりました。しかし、それがどのように機能するのかわかりません。

グーグルは私にとって何の進歩もしませんでした。では、このMongoDBキャッシングをC#で実装する方法を誰かに説明してもらえますか?

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

c# - 整数値で部分文字列を検索

{"MyCollectionAttribute": 12345} のような int 属性値を含む要素を持つ mongodb コレクションがあるとします。

Query<T>.構文を使用して int 内の文字列「234」を検索するにはどうすればよいですか?

今のところ、次のような生のクエリを使用して(ここで説明されているように)動作するようです:

正規表現の一致が遅くなるため、値を整数ではなく文字列として直接保存することをお勧めしますか? これらの状況にどのようにアプローチしますか?

編集

コンテキスト: 会社は、数字であるいくつかの内部コードを持つことができます。SQL サーバーでは、データベース レベルでデータの整合性を保つために int 型の列として格納し、次のような方法で linq から sql にクエリを実行できます。

このようにして、データベース レベルでのデータの整合性とクエリのタイプ セーフの両方が実現されます。

mongodb を使用してこのシナリオを実装する方法を確認するために質問しました。

0 投票する
3 に答える
21870 参照

c# - デシリアライズエラーASP.NETMongoDB

ASP.NET MVC4に組み込まれているRESTAPIを介してMongoDBコレクション内のすべてのドキュメントを廃止しようとしていますが、localhost:50491 / api/documentと入力するとエラーが発生します。

クラスAcord_Rest_API.Models.DocumentのIdプロパティの逆シリアル化中にエラーが発生しました:BsonTypeObjectIdから文字列を逆シリアル化できません。

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

私のMongoDBドキュメントは次のようになりますか? ここに画像の説明を入力してください

ここで何が欠けていますか?

DBに接続する私のクラス:

ここで編集するのが私の解決策です: ここに画像の説明を入力してください

MongoConnectionHelperはDBへの接続を行い、DocumentControllerにはすべてのドキュメントを取得するメソッドがあり、Documentには回答で提案した内容が含まれています。

ここで編集するのはDocumentクラスです。