MongoDB每个请求更新1500条记录

时间:2015-03-24 14:04:57

标签: c# mongodb

使用官方C#MongoDB驱动程序通过一个请求更新1500条记录中的某些字段的最佳方法是什么?记录应该由ObjectId更新。我想它可能类似于以下代码:

var query = 
Query<Entity>.In(p => p.ID, ids.Select(id => new ObjectId(id)).ToArray());
var update = Update.Set("Field", FieldValue);

EntitydbCollection.Update(query, update);

但它不起作用。 请帮帮我。

2 个答案:

答案 0 :(得分:1)

如果您想一次执行多个更新,建议您使用类BulkUpdateRequestBuilder创建单个批量更新。

答案 1 :(得分:1)

默认情况下,Update只会更新单个项目。更改代码以允许Multi:

EntitydbCollection.Update(query, update, 
        new MongoUpdateOptions { Flags = UpdateFlags.Multi });

顺便说一下,您还在使用旧版本的驱动程序 - 如果您现在开始使用,我建议您使用2.0驱动程序(Install-Package MongoDB.Driver -pre