spring-data - 使用 Spring Data MongoDB Reactive 进行批量更新

标签 spring-data spring-data-mongodb project-reactor bulkinsert spring-data-mongodb-reactive

我该如何执行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/

相关文章:

java - 使用 MongoDB react 驱动程序阻止 react 应用程序中的操作

java - hibernate : Getting error "nested exception is org.hibernate.MappingException: No Dialect mapping for JDBC type: -15"

java - Spring 数据JPA : externalize to a property file the @EnableJpaRepositories basePackages configuration

elasticsearch - 具有索引名称的 ReactiveCrudRepository 供应

java - Spring Data MongoDB 中的上限数组

java - 如果天数差为 x 天,则 Spring MongoDB 查询文档

java - Spring数据mongodb审计不起作用..(Java配置)

java - JPA Criteria api 通过嵌入式 ID 加入

events - 如何使用 Reactor 向多个消费者派发事件,并根据事件数据过滤事件?

java - 缺少 Spring Reactive Web 应用程序 POST 请求正文