MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да внедрите MongoDB вложена $elemMatch заявка в C#

Е, честното писане на заявки в 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongo групова заявка как да запазите полета

  2. Как да направите пълнотекстово търсене в MongoDB

  3. Java, MongoDB:Как да актуализирате всеки обект, докато повтаряте огромна колекция?

  4. Филтрирайте подмасива на масив по някои критерии

  5. MongoDB GUI клиент (кросплатформен или Linux)