问题标签 [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.

0 投票
0 回答
55 浏览

mongodb - 使用 Flux 过滤 Mongo DB capped Collection

我已将我的上限集合定义如下。

我正在使用以下代码在应用程序启动时重新创建此集合。

DB 中的集合如下所示。

我已经编写了一个上限存储库,如下所示

我写了下面的代码来创建一个过滤记录流。

我的要求是,我应该根据我传递的 RiderId 获得过滤流。因此,如果我通过riderId=1,那么我应该得到所有riderId!=1 的记录的通量。但是过滤不起作用!我正在获取上限集合中的所有记录。

我在这里做错了什么?

0 投票
0 回答
133 浏览

mongodb - 带有 Reactive mongo 自动配置的 Spring 缓存 mongodb

我正在尝试在我的反应式弹簧应用程序中使用spring-cache-mongodb作为缓存。问题是2个依赖

  1. ReactiveMongoTemplate默认情况下,应用程序响应式存储库需要。
  2. MongoTemplate被使用spring-cache-mongodb

但是它们不能一起使用,关于如何使用spring-cache-mongodb响应式 Mongo 数据的任何建议。

0 投票
1 回答
120 浏览

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 和端口?

0 投票
2 回答
44 浏览

java-8 - 无法使用 Joda Time API 将日期转换为 UTC

我正在尝试将此日期转换为本地日期

你能告诉我使用哪个库吗?

代码:

0 投票
1 回答
270 浏览

spring-boot - 解析json类型的请求体的问题,包含一个字符串列表到Spring响应中的字符串Flux

我有一个如下的 DTO:

和一个数据库对象如下:

StorableAttribute 数据库模型如下:

在数据对象上,字段:Flux<StoreableAttribute> attributesFlux<StoreableAttribute> extras与包对象一起存储在单独的集合中。并由映射器处理如下:

对于额外的属性也类似。

一个简单的控制器方法如下:

当我发出帖子请求时,我收到一条错误消息

更多信息:

  1. 我将该类InternetPackageDto用作请求对象和响应对象。
  2. 我正在使用Flux<String>,而不是List<String>因为我不确定是否对列表进行阻塞解析是个好主意。
  3. 属性分别存储和管理。
  4. 以及在更新或插入软件包期间;如果包含新的额外或属性,则 db 中的属性集合将通过插入新的传入额外和属性来更新。

看起来我可能犯了一个愚蠢的错误,因为我找不到关于这个问题的太多信息,或者我做错了。

任何帮助将不胜感激。

0 投票
0 回答
135 浏览

mongodb - 关于使用 ReactiveMongoTemplate 连接 Mongo Cluster

我有一个 Spring Boot 应用程序并尝试使用 ReactiveMongoTemplate 连接到 Mongo 数据库集群。

我可以使用以下代码连接到 Mongo DB:

application.properties 内容:

在我的 ReactiveMongoConfig 内容是这样的:

有了这个,我就可以连接到数据库,然后执行自动装配 ReactiveMpongoTemplate 的任何操作,如下所示

我想连接到 MongoCluster 而不仅仅是一个实例。为此,我正在做的事情如下:

application.properties 内容:

我也尝试过以下方法:

rs0 是我的 MongoDB 副本名称

我的 ReactiveMongoConfig 类如下所示:

当我在上面尝试时,我在应用程序日志中低于,它显示它首先连接但然后立即说

连接到服务器时监视器线程中的异常

这有点烦人。

我的 Mongo 数据库集群在带有 3 个容器的 AWS EC2 实例上运行,每个容器都运行仲裁器、主节点和副本节点。

0 投票
1 回答
195 浏览

java - Quarkus Mongodb 在本机构建中更改流 NullPointerException

我正在构建一个 quarkus 应用程序,它将 mongodb 更改流功能与反应式客户端一起使用。

如果我从 Intellij 在本地启动应用程序,一切正常,但是当我构建本机应用程序并在 docker 映像中运行它时,我收到此错误

我使用这个命令来构建本机应用程序,因为我需要在 windows 上本地构建它并在 heroku 上 delpoy:

这是我初始化更改流并在集合上启动监视的类和方法

这是监听器方法

不明白报错,查看了空指针异常所在的mongo客户端库的类的源码,发现报错在构造函数中

空指针所在的行是这一行:

所以我试图删除 fullDocument 选项,但错误仍然存​​在。

只有当我在 docker 中运行应用程序时才会导致此错误的任何想法?谢谢

0 投票
1 回答
339 浏览

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)更新:

找到解决方案

非常感谢您的帮助

0 投票
0 回答
131 浏览

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”?

非常感谢您的帮助

0 投票
1 回答
296 浏览

spring-webflux - 使用 ReactiveMongoTemplate 批量更新

在反应式 Spring Boot 应用程序中,我有一个要更新的项目列表。我想向我的数据库发送一个 SINGLE 命令以将更改应用于不同的项目。如果我可以说,相当于 db.collection.updateMany。可能吗?如何?