问题标签 [reactive-mongo-java]
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.
mongodb - 使用 Flux 过滤 Mongo DB capped Collection
我已将我的上限集合定义如下。
我正在使用以下代码在应用程序启动时重新创建此集合。
DB 中的集合如下所示。
我已经编写了一个上限存储库,如下所示
我写了下面的代码来创建一个过滤记录流。
我的要求是,我应该根据我传递的 RiderId 获得过滤流。因此,如果我通过riderId=1,那么我应该得到所有riderId!=1 的记录的通量。但是过滤不起作用!我正在获取上限集合中的所有记录。
我在这里做错了什么?
mongodb - 带有 Reactive mongo 自动配置的 Spring 缓存 mongodb
我正在尝试在我的反应式弹簧应用程序中使用spring-cache-mongodb作为缓存。问题是2个依赖
ReactiveMongoTemplate
默认情况下,应用程序响应式存储库需要。MongoTemplate
被使用spring-cache-mongodb
但是它们不能一起使用,关于如何使用spring-cache-mongodb
响应式 Mongo 数据的任何建议。
mongodb - Springboot忽略MongoDB atlas uri,尝试连接hosts=[127.0.0.1:27017]
我一直在使用 Spring webflux 和响应式 mongo DB 开发应用程序。在那里,我使用 mongo DB atlas 作为数据库,它运行良好。
最近我不得不引入 mongo 自定义转换来处理 Zoned Date Time 对象。
但是现在我不再可以连接到 mongo db atlas,它忽略了 proeprty spring.data.mongodb.uri并尝试使用默认配置连接本地服务器。
我试过了
但随后它也忽略了上述转换。是否有任何其他配置可以覆盖AbstractReactiveMongoConfiguration
以忽略默认服务器 IP 和端口?
java-8 - 无法使用 Joda Time API 将日期转换为 UTC
我正在尝试将此日期转换为本地日期
你能告诉我使用哪个库吗?
代码:
spring-boot - 解析json类型的请求体的问题,包含一个字符串列表到Spring响应中的字符串Flux
我有一个如下的 DTO:
和一个数据库对象如下:
StorableAttribute 数据库模型如下:
在数据对象上,字段:Flux<StoreableAttribute> attributes
和Flux<StoreableAttribute> extras
与包对象一起存储在单独的集合中。并由映射器处理如下:
对于额外的属性也类似。
一个简单的控制器方法如下:
当我发出帖子请求时,我收到一条错误消息
更多信息:
- 我将该类
InternetPackageDto
用作请求对象和响应对象。 - 我正在使用
Flux<String>
,而不是List<String>
因为我不确定是否对列表进行阻塞解析是个好主意。 - 属性分别存储和管理。
- 以及在更新或插入软件包期间;如果包含新的额外或属性,则 db 中的属性集合将通过插入新的传入额外和属性来更新。
看起来我可能犯了一个愚蠢的错误,因为我找不到关于这个问题的太多信息,或者我做错了。
任何帮助将不胜感激。
mongodb - 关于使用 ReactiveMongoTemplate 连接 Mongo Cluster
我有一个 Spring Boot 应用程序并尝试使用 ReactiveMongoTemplate 连接到 Mongo 数据库集群。
我可以使用以下代码连接到 Mongo DB:
application.properties 内容:
在我的 ReactiveMongoConfig 内容是这样的:
有了这个,我就可以连接到数据库,然后执行自动装配 ReactiveMpongoTemplate 的任何操作,如下所示
我想连接到 MongoCluster 而不仅仅是一个实例。为此,我正在做的事情如下:
application.properties 内容:
我也尝试过以下方法:
rs0 是我的 MongoDB 副本名称
我的 ReactiveMongoConfig 类如下所示:
当我在上面尝试时,我在应用程序日志中低于,它显示它首先连接但然后立即说
连接到服务器时监视器线程中的异常
这有点烦人。
我的 Mongo 数据库集群在带有 3 个容器的 AWS EC2 实例上运行,每个容器都运行仲裁器、主节点和副本节点。
java - Quarkus Mongodb 在本机构建中更改流 NullPointerException
我正在构建一个 quarkus 应用程序,它将 mongodb 更改流功能与反应式客户端一起使用。
如果我从 Intellij 在本地启动应用程序,一切正常,但是当我构建本机应用程序并在 docker 映像中运行它时,我收到此错误
我使用这个命令来构建本机应用程序,因为我需要在 windows 上本地构建它并在 heroku 上 delpoy:
这是我初始化更改流并在集合上启动监视的类和方法
这是监听器方法
不明白报错,查看了空指针异常所在的mongo客户端库的类的源码,发现报错在构造函数中
空指针所在的行是这一行:
所以我试图删除 fullDocument 选项,但错误仍然存在。
只有当我在 docker 中运行应用程序时才会导致此错误的任何想法?谢谢
spring-webflux - 在 Spring WebFlux 中,如何链接来自多个服务/存储库的方法,以便“删除”多个 DB-Collections 中的元素?
1)关于问题的语境化:
我正在尝试使用 03 个不同的服务/存储库(userService + postService + userRepo)在 03 个不同的 DB-Collections(Reactive MongoDB)中“删除”项目;
我的目标是使用相同的链接代码同时删除一个对象(在每个集合中);
以下是上述情况的代码:
1.1) 代码:
当前工作状态:不工作;
当前行为:不执行任何删除,无论是 delete-userService、delete-postService 还是 delete-userRepo。
2)问题:
- 如何删除不同 DB-Collections 中的不同元素,
- 通过仅使用一个使用三个“删除方法”的“链式删除方法”
- 三种不同的服务/repo(userService + postService + userRepo?
- 通过仅使用一个使用三个“删除方法”的“链式删除方法”
3)更新:
找到解决方案
非常感谢您的帮助
spring-webflux - NestedClass 测试失败,因为 Spring-Data-Mongo-Reactive 正在关闭 MongoDb 连接(状态应该是:服务器会话池已打开)
1)问题描述:
- 我正在使用 Spring-Data-Mongo-Reactive、Testcontainers 和 JUnit 05;
- 我有一个带有简单测试和“嵌套测试类”的测试类(也有一个简单的测试);
- 当 JUnit 测试 NestedClass 时,MongoDb 连接关闭,测试“Test's NestedClass”失败;
我的目标是:
- 保持 Reactive-MongoDB-Connection 打开,以便测试“Nested-Test-Class”;
以下是上述情况的代码:
1.1) 代码:
当前工作状态:不工作;
当前行为:
- Reactive-MongoDB 连接正在关闭,当测试“嵌套测试类”时,即使第一个测试正常测试。.
2)当前有问题的日志/错误:
java.lang.AssertionError:期望“expectNextCount(1)”失败(期望:count = 1;实际:counted = 0;信号:onError(org.springframework.data.mongodb.ClientSessionException:状态应该是:服务器会话池已打开; 嵌套异常是 java.lang.IllegalStateException: state should be: server session pool is open))
引起:java.lang.IllegalStateException:状态应该是:服务器会话池是打开的
3)问题:
- 如何保持 Reactive-MongoDB-Connection 处于打开状态,以便同时测试“Nested-Test-Class”?
非常感谢您的帮助
spring-webflux - 使用 ReactiveMongoTemplate 批量更新
在反应式 Spring Boot 应用程序中,我有一个要更新的项目列表。我想向我的数据库发送一个 SINGLE 命令以将更改应用于不同的项目。如果我可以说,相当于 db.collection.updateMany。可能吗?如何?