C# 按objectid数组进行查询

C# 按objectid数组进行查询,c#,.net,mongodb,mongodb-query,mongodb-.net-driver,C#,.net,Mongodb,Mongodb Query,Mongodb .net Driver,我有一个ObjectIDs数组,表示集合中文档的\u id值: ObjectID[] documentsAffected 如何准备查询以返回此数组中引用的所有文档 我已经了解了以下内容,但它仅适用于单个值,而不适用于数组: Query.EQ("_id", documentsAffected) 我不想编写for循环,也不想一次返回一个文档,因为我需要以相同的方式更新这些文档,如果在检索完所有文档后可以在一个语句中更新它们,那么这似乎效率低下 有没有办法有效地做到这一点?如果没有,是否有其他方法

我有一个
ObjectID
s数组,表示集合中文档的
\u id
值:

ObjectID[] documentsAffected
如何准备查询以返回此数组中引用的所有文档

我已经了解了以下内容,但它仅适用于单个值,而不适用于数组:

Query.EQ("_id", documentsAffected)
我不想编写for循环,也不想一次返回一个文档,因为我需要以相同的方式更新这些文档,如果在检索完所有文档后可以在一个语句中更新它们,那么这似乎效率低下


有没有办法有效地做到这一点?如果没有,是否有其他方法根据引用文档的项目列表返回所有文档

您可以在中使用
而不是
EQ

Query.In("_id", documentsAffected);
或者最好使用键入的选项:

Query<Document>.In(doc => doc.Id, documentsAffected);
Query.In(doc=>doc.Id,documentsAffected);
这将使用
$in
运算符创建查询:

$in运算符选择字段值等于指定数组中任何值的文档。如果字段包含数组,则$in运算符将选择其字段包含数组的文档,该数组至少包含一个与指定数组中的值匹配的元素


来自

谢谢!我最终使用了您指定的第二个选项。