MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zapytania C# mongo z ciągami json

To brzydkie, ale możesz to zrobić, deserializując ciąg w BsonDocument a następnie zawijanie w 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

Jeśli jest to coś, co planujesz robić często, zawsze możesz umieścić to w metodzie lub utworzyć JSQueryDocument klasa jak poniżej:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wartość bezwzględna dzięki frameworkowi agregacji MongoDB

  2. Różnica między Find i FindAsync

  3. zapisz adres IP w mongoDB

  4. MongoDB Ruby Driver 2.5.x Problemy z rozróżnianiem wielkości liter w nazwach hostów w zestawach replik

  5. Usuń duplikaty podczas używania $unionWith w MongoDB