Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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, so it is first document. I am looking for examples that are based on official MongoDB C# driver;)

Thank you very much!!!

like image 520
Edward83 Avatar asked Jan 20 '23 03:01

Edward83


1 Answers

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

like image 159
Andrew Orsich Avatar answered Jan 29 '23 07:01

Andrew Orsich