Search code examples
c#jsonmongodbmongodb-querymongodb-.net-driver

How do I query MongoDB using the C# driver with a query in string format?


I need to query MongoDB with a standard query like the following:

{"$and":[{"Name":"Accelero JKT M Tun XL "}]}

I typically build queries using the Query object in C# and then do something like this:

MongoCollection<BsonDocument> col = _database.GetCollection<BsonDocument>("SourceItem");
var query = Query.And(Query.EQ("AccountID", BsonValue.Create(Convert.ToInt32(_accountID))), Query.EQ("SKU", sku));
var docs = col.Find(query);

Since I already have the query, I do not want to use the Query object to build a query. How do I simply use the query that I already have?


Solution

  • There is a slightly simpler way to do this (you should just replace " with '):

    var el = BsonDocument.Parse("{'$and':[{'Name':'Accelero JKT M Tun XL '}]}");
    var doc = new QueryDocument(el);
    var result = coll.Find(doc);