我该如何执行bulk perations使用ReactiveMongoTemplate
?
基本上我想使用 db.<collection_name>.initializeUnorderedBulkOp()
初始化批量并使用 <bulk>.execute()
执行它.
我知道有一种方法可以使用简单的MongoTemplate
来做到这一点按照规定here但我找不到任何方法如何以 react 方式做到这一点。
最佳答案
我终于成功地使用 MongoCollection.bulkWrite
方法执行批量写入。
reactiveMongoTemplate.getCollection("assets_refs").flatMap(mongoCollection -> {
var operations = entities.stream().map(entity -> {
Document doc = new Document();
reactiveMongoTemplate.getConverter().write(entity, doc);
var filter = new Document("externalId", entity.getExternalId());
return new UpdateOneModel<Document>(filter, new Document("$set", doc), new UpdateOptions().upsert(true));
}).toList();
return Mono.from(mongoCollection.bulkWrite(operations));
})
关于spring-data - 使用 Spring Data MongoDB Reactive 进行批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70926335/