开发者

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));
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜