Edward83
Edward83

Reputation: 6686

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!!!

Upvotes: 4

Views: 5747

Answers (2)

seldary
seldary

Reputation: 6256

In recent versions of the C# driver you can use:

Query<MyType>.All(_ => _.MyPropertyName, array));

Upvotes: 1

Andrew Orsich
Andrew Orsich

Reputation: 53685

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

Upvotes: 8

Related Questions