【发布时间】:2017-09-16 17:13:16
【问题描述】:
我想在单个 Web 请求中更新 10,000 个文档。我打算只更新与某些具有相同值的条件匹配的所有文档中的一个字段(已编入索引)。 我看到 morphia 1.3.2 总是在更新调用中设置 multi=true 参数。更新 10,000 个文档是否足够?或者morphia里面有什么批量更新功能。
【问题讨论】:
标签: mongodb morphia mongo-java-driver
我想在单个 Web 请求中更新 10,000 个文档。我打算只更新与某些具有相同值的条件匹配的所有文档中的一个字段(已编入索引)。 我看到 morphia 1.3.2 总是在更新调用中设置 multi=true 参数。更新 10,000 个文档是否足够?或者morphia里面有什么批量更新功能。
【问题讨论】:
标签: mongodb morphia mongo-java-driver
下面的代码应该适合你。
Query<Entity> query = datastore.createQuery(Entity.class);
query.filter("name = ", "xxx");
UpdateOperations<Entity> updateOperations = datastore.createUpdateOperations(Entity.class).set
("yyy", 200);
UpdateResults updateResults = datastore.update(query, updateOperations, false, null);
集合中所有 name = 'xxx' 的文档现在的所有 'yyy' 属性都等于 200。
【讨论】: