MongoDB field-array searching (C#, How to?)
Please tell me how make search by fields-arrays? I have some fields of type List<Int64>
. For example first document has field-array with numbers [1,2,3,4] and second document has such field with numbers [4,5,6,7].
I want to find documents where my field consists 3 and 4 numbers开发者_Python百科, so it is first document. I am looking for examples that are based on official MongoDB C# driver;)
Thank you very much!!!
You should use Query.All()
. Code like this:
var array = new List<int>() {3, 4};
var query = Query.All("SomeArray", new BsonArray(array));
collection.Find(query);
The result of Query.All
will all documents thats have nested array SomeArray
with values 3 and 4
.
If you want 3 or 4
use Query.In("SomeArray", new BsonArray(array))
References to the documentation: $all, $in
In recent versions of the C# driver you can use:
Query<MyType>.All(_ => _.MyPropertyName, array));
精彩评论