请告诉我如何通过字段数组进行搜索?我有一些List<Int64>
类型的字段。例如,第一个文档的字段数组为[1,2,3,4],第二个文档的字段为数字[4,5,6,7]。
我想找到我的字段包含3和4个数字的文档,因此它是第一个文档。 我正在寻找基于官方MongoDB C#驱动程序的示例;)
非常感谢!!!
答案 0 :(得分:8)
您应该使用Query.All()
。像这样的代码:
var array = new List<int>() {3, 4};
var query = Query.All("SomeArray", new BsonArray(array));
collection.Find(query);
Query.All
的结果将所有具有值SomeArray
的嵌套数组3 and 4
的文档。
如果您希望3 or 4
使用Query.In("SomeArray", new BsonArray(array))
答案 1 :(得分:1)
在最新版本的C#驱动程序中,您可以使用:
Query<MyType>.All(_ => _.MyPropertyName, array));