使用官方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);
但它不起作用。 请帮帮我。
答案 0 :(得分:1)
如果您想一次执行多个更新,建议您使用类BulkUpdateRequestBuilder
创建单个批量更新。
答案 1 :(得分:1)
默认情况下,Update
只会更新单个项目。更改代码以允许Multi:
EntitydbCollection.Update(query, update,
new MongoUpdateOptions { Flags = UpdateFlags.Multi });
顺便说一下,您还在使用旧版本的驱动程序 - 如果您现在开始使用,我建议您使用2.0驱动程序(Install-Package MongoDB.Driver -pre
)