/ / nie wiesz, jak używać ElemMatch w c # dla MongoDb (najnowsza wersja sterownika) - c #, mongodb, bson

nie wiem jak używać ElemMatch w języku c # dla MongoDb (najnowsza wersja sterownika) - c #, mongodb, bson

Mam kolekcję MongoDB w następującym formacie:

{
"_id" : ObjectId("5692a3397d7518330416f8e5"),
"supertagname" : "xxx",
"inclusions" : [
"test",
"blabla"
],
"exclusions" : [ ]
}

próbuję wyszukać wszystkie dokumenty, w których tablica „inkluzje” zawiera wartość, której szukam. Oto kod

string t = "blabla"; // the string value I am looking for

filter = Builders<BsonDocument>.Filter.ElemMatch(
"inclusions", Builders<BsonDocument>.Filter.Eq("inclusions", t));

var matches = dictCollection.Find(filter).ToList();

foreach (BsonDocument doc in matches) {}

matches.count jest zawsze 0. Co robię źle?

Dzięki

Odpowiedzi:

5 dla odpowiedzi № 1

Myślę, że możesz to zrobić prostszym filtrem:

var filter = Builders<BsonDocument>.Filter.AnyEq("inclusions", t);

Spowoduje to filtrowanie dokumentów, w których inclusions tablica zawiera wartość, której szukasz.

http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/definitions/#array-operators