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

json文字列を使用したC#mongoクエリ

    醜いですが、文字列をBsonDocumentに逆シリアル化することでこれを行うことができます 次に、QueryDocumentでラップします

    BsonDocument query = MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>("{ SendId: 4, 'Events.Code' : { $all : [2], $nin : [3] } }");
    QueryDocument queryDoc = new QueryDocument(query);
    var result = collection.FindAs<TypeOfResultExpected>(queryDoc); // or just use Find
    

    頻繁に実行する予定の場合は、いつでもメソッドでラップするか、JSQueryDocumentを作成できます。 次のようなクラス:

    public class JSQueryDocument : QueryDocument
    {
        public JSQueryDocument(string query) : base(MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(query))
        {
            // Probably better to do this as a method rather than constructor as it
            // could be hard to debug queries that are not formatted correctly
        }
    }
    
    /// ...
    
    var result = collection.Find(new JSQueryDocument("{ SendId: 4, 'Events.Code' : { $all : [2], $nin : [3] } }"));
    


    1. ページキャッシュ、dentries、inodeとは何ですか?

    2. Javaでマップをシリアル化してRedisに保存するにはどうすればよいですか?

    3. Windows 7マシン上のMongoDB:接続できませんでした

    4. HerokuアプリをAtlasMongoDBクラウドサービスに接続する