sql >> データベース >  >> NoSQL >> MongoDB

C#でMongoDBネストされた$elemMatchクエリを実装する方法

    正直なところ、C#でクエリを作成するのは少し難しいですが、いつでもトリックをプレイできます。

    var bsonQuery = "{'Details.a':{$elemMatch:{$elemMatch:{DeviceName : /.*Name0.*/}}}}";
    var filter = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(bsonQuery);
    
    var result = col.FindSync (filter).ToList();
    

    プレーンなMongoDBクエリをBsonDocumentに逆シリアル化し、その代わりにフィルターとしてFindAsyncに渡します。

    最終的には、さまざまな結果で望ましい結果が得られます。

    注:MongoDB接続が確立され、変数colがあると想定しています。 MongoDBコレクションへの参照を保持します。

    編集:次のリンクhttps://groups.google.com/forum/#!topic/mongodb-csharp/0dcoVlbFR2Aを参照してください。これで、C#ドライバーが名前のないフィルターをサポートしていないことが確認されたため、Buidlers<BsonDocument>.Filterを使用して上記のクエリを記述します。 現時点ではサポートされていません。

    簡単に言うと、選択肢は1つだけです。それは、上記のソリューションで説明したようにクエリを実行することです。




    1. Clouderaレプリケーションプラグインは、ApacheHBaseのxプラットフォームレプリケーションを有効にします

    2. KoyebにMongoDBAtlasとApolloServerを使用してGraphQLAPIをデプロイします

    3. UbuntuからmongoDBをアンインストールします

    4. IDのリストが与えられた場合、コレクションに存在しないIDを照会するための最良の方法は何ですか?