1.9.0.RELEASE から spring-data-mongodb からの一括更新がサポートされます。
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();
mongoTemplate には void save(Object objectToSave); という関数があります。特定のフィールドではなく、レコード全体を挿入/更新したい。Update クラスを無効にする方法や関数はありますか?
たぶん、このようなもの..?
BulkOperations ops = template.bulkOps(BulkMode.UNORDERED, Match.class);
for (User user : users) {
...
ops.save(query(where("id").is(user.getId())), user);
}
ops.execute();