问题标签 [spring-mongodb]

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 投票
1 回答
1321 浏览

spring-cache - Spring可缓存错误,尝试通过ID键缓存用户并以相同的方式驱逐它

我正在尝试使用spring的@Cacheable进行缓存。我也在使用spring mongodb。我不断收到以下错误:

这是我正在使用的代码。似乎无论我使用“#id”还是“id”,它似乎都不起作用。要么我得到 IllegalArgumentException,要么它抱怨 id 可能不公开,但我想在我的 User 模型中将“id”保持为私有。

有人可以指出我做错了什么吗?本质上,我想在redis中缓存用户下的所有“用户”,但以用户“id”作为键进行缓存。然后,我还想在保存用户时基于相同的 id 驱逐。

0 投票
1 回答
5278 浏览

spring-boot - Spring Data Mongo中子对象的ID字段处理

我一直在 Spring Boot 中使用 Spring Data MongoDB 项目,并且看到了我不清楚的行为。我知道 id 字段将根据http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#mapping.conventions.id-field转到 Mongo 存储库中的 _id 。我的问题是它似乎也发生在看起来不正确的子实体上。

例如,我有这些类(为简洁起见,省略了 setter 和 getter):

我使用它创建一个对象图我使用适当的 MongoRepository 类来保存我最终得到了一个像这样的示例文档(省略了 _class):

在这种情况下,具有名为 id 的字段的子对象在 MongoDB 存储库中将其映射转换为 _id。虽然没有预料到,但不是世界末日。现在最大的问题是 REST MVC 公开了 _id 字段,不会从查询中返回。我试图在我的 RepositoryRestConfigurerAdapter 中为这个类设置exposeIdsFor,它公开了顶级文档的id,而不是子文档。

因此,围绕我遇到的两个问题/问题是:

  • 为什么子对象字段映射到_id?我的理解是,这应该只发生在顶层,因为底层的东西本身并不是真正的文档。
  • 如果它正在映射字段名称,那么公开 id 字段的配置是否不应该适用于文档中的子对象?
0 投票
4 回答
6735 浏览

spring-mongodb - 如何使用 spring mongodb 将 WriteConcern 设置为 ACKNOWLEDGED?

我想将 spring mongodb 中的 WriteConcern 设置为确认。另外,我想知道这是否是默认值?我在 application.properties 中使用 spring.data.mongodb.uri 所以我没有任何 mongo 配置类。

0 投票
4 回答
46240 浏览

spring-boot - 关于 Spring Boot 中多个模块的 INFO 警告,它们是什么意思?

我最近将我的 Spring Boot 版本提升到了 1.4.0。现在我在下面看到以下警告。我正在使用 spring-mongodb 和 spring-redis (严格用于缓存)。这是我应该关心的事情吗?

找到多个 Spring Data 模块,进入严格的存储库配置模式!

Spring Data Redis - 无法安全地识别存储库的存储分配

严格的存储库配置模式的真正含义是什么?

0 投票
1 回答
166 浏览

azure-cosmosdb - 无法使用 Spring MongoTemplate 在 Azure DocumentDB 中创建索引

我只是无法创建所需的索引。我列出了现有的索引

仍然只得到

我试过了

结果还是一样...

0 投票
0 回答
623 浏览

mongodb - 使用 mongodb 进行 Spring Boot 聚合

有人能帮我吗?我试图在springboot(mongodb)中使用聚合我有这些类:

所以我需要返回这个类:

首先我尝试基本的:

仅按名称分组,但仅当我将 _id 属性放在我的类 SugestaoParte 中时,我的返回才有效,如何将 nome.parte 设置为 nome 字段?

在此之后我需要返回,类似于 tis:

名称 = "nome.parte" 文档 = "nome.parte.documento[1] + nome.parte.documento[2]....."

tks

0 投票
0 回答
837 浏览

java - SpringBoot项目Junits中获取NestedServletException

mongoTemplate.find(query, SchedulerEntity.class)我有一个带有 Mongo DB 连接的 SpringBoot 项目,应用程序工作正常,但是在 Impl 类中调用Junits 时出现以下异常。

我在这里错过了什么吗?

我使用 MockMvc 来模拟 API 并从 MongoDB 获取数据。

抛出异常的代码:

JUnit 代码:

错误堆栈跟踪:

pom.xml:

0 投票
1 回答
3138 浏览

spring-boot - 为 spring-mongo-data 配置身份验证

环境

弹簧启动 1.3.2

春天-mongo 0.8.0

用 gradle 构建我的 spring-boot 微服务。

问题

mongo 数据库之一启用身份验证,所以我在 application.yml 中配置这些参数

spring: data: mongo: username:xxx password:xxx authentication-database:xxx

它适用于已设置身份验证的 mongodb。

但是我得到了 mongdb 的错误, 即使我设置了用户名 =“”,密码 =“”,它也没有设置身份验证。它因身份验证而失败。

引起:com.mongodb.CommandFailureException: { "serverUsed" : "localhost:27017" , "ok" : 0.0 , "code" : 18 , "errmsg" : "Authentication failed."} at com.mongodb.CommandResult.getException (CommandResult.java:76) ~[mongo-java-driver-2.13.3.jar:na] at com.mongodb.CommandResult.throwOnError(CommandResult.java:140) ~[mongo-java-driver-2.13.3. jar:na] 在 com.mongodb.DBPort$SaslAuthenticator.authenticate(DBPort.java:903) ~[mongo-java-driver-2.13.3.jar:na] 在 com.mongodb.DBPort.authenticate(DBPort.java:第436章~[mongo-java-driver-2.13.3.jar:na]在com.mongodb.DBPort.checkAuth(DBPort.java:447)~[mongo-java-driver-2.13.3.jar:na]在com.mongodb.DBTCPConnector.doOperation(DBTCPConnector.java:207) ~[mongo-java-driver-2.13.3.jar:na] 在 com.mongodb。DBCollectionImpl.createIndex(DBCollectionImpl.java:392) ~[mongo-java-driver-2.13.3.jar:na] at com.mongodb.DBCollection.createIndex(DBCollection.java:597) ~[mongo-java-driver-2.13 .3.jar:na]

我的问题是如何为这些未设置身份验证的 mongo db 删除 mongo.username,password 密钥动态?

我也很好奇为什么不能删除 application.yml 文件中的键。而在本文档中看到我们可以使用 Maven 或 gradle 自动扩展属性:属性扩展

如果只是将这些键留空,则更新,仍然会出错

完整的响应是 { "ok" : 0.0, "errmsg" : "Invalid database name: ''", "code" : 73 }}}]

0 投票
2 回答
1186 浏览

spring - 如何在 org.springframework.data.mongodb.repository.Query() 中表示基于 Mongo 的 NumberLong()

我需要从具有一组文档的 MongoDB 中获取记录。我正在使用 Spring Boot 和 MongoRepository 来执行 CRUD 操作。我正在使用查询注释来传递我的 Mongo 查询。但是 Spring 无法解析我编写的查询。我是 MongoDB 新手,所以如果这是一个愚蠢的问题,请原谅我。任何帮助表示赞赏,谢谢。

这是我正在使用的查询:

我得到的例外:

Mongo记录结构:

0 投票
2 回答
8494 浏览

spring-data - spring mongo querydsl 找不到类 java.time.LocalDateTime 的编解码器

我使用spring mongo数据休息和querydsl

域:有一个属性:

要使用 Json,我添加:

杰克逊-数据类型-jsr310

LocalDateTime 可以工作:

http://localhost:8001/api/users

它显示:'2016-10-26T21:08:58.91'

当我将 querydsl 与控制器一起使用时:

它有错误:

更新

如果我改变

user.registerTime.between(registerTimeBegin,registerTimeEnd)

user.registerTime.after(registerTimeBegin) .and(user.registerTime.before(registerTimeEnd));

错误不见了......