MongoDB字段数组搜索(C#,如何?)

时间:2011-03-28 10:27:52

标签: c# search mongodb mongodb-.net-driver

请告诉我如何通过字段数组进行搜索?我有一些List<Int64>类型的字段。例如,第一个文档的字段数组为[1,2,3,4],第二个文档的字段为数字[4,5,6,7]。

我想找到我的字段包含3和4个数字的文档,因此它是第一个文档。 我正在寻找基于官方MongoDB C#驱动程序的示例;)

非常感谢!!!

2 个答案:

答案 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))

参考文件: $all$in

答案 1 :(得分:1)

在最新版本的C#驱动程序中,您可以使用:

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