Spring Data MongoDB和批量更新 [英] Spring Data MongoDB and Bulk Update

查看:1351
本文介绍了Spring Data MongoDB和批量更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Spring Data MongoDB,并希望像这里描述的那样执行批量更新: http://docs.mongodb.org/manual/reference/method/Bulk.find.update/#Bulk.find.update

I am using Spring Data MongoDB and would like to perform a Bulk Update just like the one described here: http://docs.mongodb.org/manual/reference/method/Bulk.find.update/#Bulk.find.update

使用常规驱动程序时,它看起来像这样:

When using regular driver it looks like this:

以下示例初始化items集合的Bulk()操作构建器,并将各种多重更新操作添加到操作列表中。

The following example initializes a Bulk() operations builder for the items collection, and adds various multi update operations to the list of operations.

var bulk = db.items.initializeUnorderedBulkOp();
bulk.find( { status: "D" } ).update( { $set: { status: "I", points: "0" } } );
bulk.find( { item: null } ).update( { $set: { item: "TBD" } } );
bulk.execute()

有没有办法用Spring Data MongoDB实现类似的结果?

Is there any way to achieve similar result with Spring Data MongoDB ?

推荐答案

spring-data-mongodb 1.9.0.RELEASE 支持批量更新。下面是一个示例:

Bulk updates are supported from spring-data-mongodb 1.9.0.RELEASE. Here is a sample:

BulkOperations ops = template.bulkOps(BulkMode.UNORDERED, Match.class);
for (User user : users) {
    Update update = new Update();
    ...
    ops.updateOne(query(where("id").is(user.getId())), update);
}
ops.execute();

这篇关于Spring Data MongoDB和批量更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆