gpt4 book ai didi

mongotemplate - Spring数据mongodb批量更新

转载 作者:行者123 更新时间:2023-12-01 12:25:04 25 4
gpt4 key购买 nike

从 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();

最佳答案

你可以试试这个:

BulkOperations ops = mongoOps.bulkOps(BulkMode.<ordered/unordered>,<your ob>.class);
loop on your batch {
Update update = Update.fromDBObject(
BasicDBObjectBuilder.start("$set", <your ob>).get()
);
ops.upsert(query(where("").is(<your ob>.something())), update);
}
ops.execute();

这将像保存一样更新整个 pojo(不是某些特定字段)。

关于mongotemplate - Spring数据mongodb批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40646398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com