问题标签 [spring-data-mongodb-reactive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3640 浏览

java - 在使用 Spring Data MongoDB 的事务中调用两个不同 ReactiveMongoRepository 中的方法?

当使用 Spring Data MongoDB 的反应式编程模型时,可以执行如下事务:

但是 Spring Data MongoDB 也支持“反应式存储库”,例如:

我的问题是,鉴于您有ReactiveMongoRepository's,您能否以某种方式利用 MongoDB 事务,例如在同一个事务中插入 aPersonCar(在这种情况下使用PersonRepositoryCarRepository)?如果是这样,你如何做到这一点?

0 投票
0 回答
481 浏览

reactive-programming - 具有多个数据库(MySQL、MongoDB)的反应式全局事务

我将 MYSQL 与R2DBC(with spring-data-r2dbcand jasync-r2dbc-mysql) 和 Reactive Mongo 与spring-data-mongo-reactive. 我想设置包含这两个操作的事务。起初,我考虑过JTAChainedTransactionManager但据我所知,它们都实现了PlatformTransactionManager,而不是ReactiveTransactionManager

考虑到R2DBCTransactionManagerofspring-data-r2dbcReactiveMongoTransactionManagerof spring-data-mongodbimplements AbstractReactiveTransactionManager,有没有办法将它们集成到一个事务中?

0 投票
2 回答
624 浏览

spring-boot - 使用带有阻塞方法的反应性弹簧数据(mongdb)的缺点/性能影响

我对响应式编程非常陌生,目前正在研究使用 spring mvc 的微服务和用于数据库连接的 Spring Data MongoDb。

当我浏览 Spring Data mongo db 文档时,支持响应式存储库、响应式模板 api 等。

那么,如果我选择使用具有阻塞性质的反应式模板和存储库,会有什么缺点吗?

使用上述调用与使用阻塞存储库和模板 api 本身有什么显着区别吗?

0 投票
0 回答
68 浏览

spring-data-mongodb - ReacticveMongoTemplate 和 MongoTemplate(阻塞)在同一个应用程序中

在同一个应用程序中配置ReactiveMongoTemplateMongoTemplate(阻塞)会导致问题吗?或者我们可以在同一个应用程序中使用反应式和非反应式 mongo 配置吗?

0 投票
1 回答
586 浏览

spring-boot - WebFlux 功能端点,如何返回带有检索到的数据的 ServerResponse 并且没有不必要的阻塞/等待?

我对响应式代码完全陌生,经过大量教程和 youtube 视频后,我正在尝试使用功能端点设置一个小型测试应用程序;一个简单的 RouterFunction、RouterHandler 和 Repository。问题是如何将 ServerResponse 中的对象从存储库返回给调用者,而不会造成任何不必要的阻塞?

我正在使用 Postman 进行测试。这是我的测试应用程序中有趣的部分:

当我有如上所示的代码时,预期的数据会打印在 中subscribe(ok -> ...),但我还没有弄清楚如何在 ServerResponse 中返回这些数据。

如果我将代码更改getBook()

返回bodyValue的是空的,虽然我可以看到它是从数据库中检索出来的。

非常感谢任何关于我所缺少的建议。

更新

我正在使用MongoDB Compass来查看和验证数据库的内容。

启用了调试日志记录application.propertieslogging.level.root=DEBUG因此 Spring 类在终端窗口中写入一些信息。部分匿名日志如下:

0 投票
2 回答
333 浏览

spring - Spring webflux ReactiveMongoOperations 由 elemMatch 找到

我有一个这样的集合:

我想找到INTERLOCUTORtest1ReactiveMongoOperations如何使用?

0 投票
1 回答
85 浏览

project-reactor - Reactor Flux 抛出非法ArgumentException - 怀疑是由于 bufferTimeout

我有一个 spring 应用程序,它构建了一个响应式管道,如下所示:

但是,我看到我的应用程序中间抛出以下错误 -

我无法确定出了什么问题,以及为什么流以这个错误终止。任何帮助将不胜感激。

在我添加“bufferTimeout”以添加批处理功能后,应用程序开始抛出此错误。在此之前,我从未遇到过这个异常。也不确定如何复制该问题,因为它不是在本地或 UAT 中发生,而是仅在应用程序的生产环境中发生。任何线索都会有所帮助。

谢谢!

0 投票
1 回答
264 浏览

mongodb - Convert enum value by field

I'm using reactive MongoDB in spring. Here is the Enum Language:

Here are the converters:

Problem: When I write to the database it is writing Language enum as "ARABIC" or "UZBEK" anyway. It should write as "uz" or "ar". Why is not saving like this?

0 投票
1 回答
404 浏览

mongodb - 使用 spring-data-mongodb-reactive 管理多个 Flux 的生命周期

我有一个数据服务,我正在认真考虑切换到反应模型。这是一个联合查询引擎,可以通过调用一个或多个“解析器”实现来解析查询数据,具体取决于查询类型。

如果我切换到spring-data-mongodb-reactive,那么这些实现中的每一个都必须为以下各项创建多个Flux实例:

  1. 对信息不同部分的查询
  2. 从 #1 查询每个查询的所有数据库

注意:我不想合并每个Flux,因为能够将上面 #1 的查询分开,使最终处理更容易。将所有联合数据库的每个“部分”查询组合起来就可以了,但我必须将每个“部分”的数据分开。我希望这是有道理的。

解释完整的工作流程超出了本文的范围,但我想知道如何创建任意数量的Flux实例,并订阅它们以启动它们,然后等到它们全部完成后再继续处理完整的- 跨所有联合来源检索数据。在 Java 中,我正在寻找类似于CompletableFuture.allOf().

如果我做这样的事情,我是否接近于正确的轨道:

0 投票
1 回答
198 浏览

spring-transactions - 如何使用spring数据反应性mongodb transactionalOperator限制事务范围

出于性能原因,我需要减少 tx 范围。例如

save(a) 不参与交易

ReactiveMongoTemplate.inTransaction() 自 2.2 起已弃用。

我试过 TransactionalOperator,它似乎不支持作用域事务

我希望值设置为 1,只有 2 回滚。但是似乎transationalOperater从一开始就开始了事务,带有会话同步ON_ACTUAL_TRANSACTION的mongo也参与了事务。如何限制 tx 范围?