问题标签 [spring-data-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 回答
2861 浏览

mongodb - 无法生成 querydsl Q 类

我相信这个问题已经在这里问了一段时间,但没有任何被接受的回应。我实际上尝试了各种教程,但没有得到它们。我有一个multi modules maven项目。所以我有dependency-management并且plugin-management在父项目中。poms 如下所示:

我在 db mobule 中有 jpa 和 mongo,它们都在单独的包中。但我只希望query dsl用于 mongodb。db 模块 pom 如下所示:

我在 mongo 实体上使用spring data framework 3.1它的@Document注释。我也使用MongoRepository所以我想知道在生成类之前我是否应该这样做。

谢谢阅读

0 投票
2 回答
797 浏览

mongodb - 使用spring data mongo Criteria将查询从JPQL移植到mongo

我已经将我的一些Entityfrom移植JPA到文档,现在移植我的一些查询。这是 JPA 查询:

以下是我的尝试:

此查询返回零大小的数组列表。然后我更改了orNameCriteria使用 is 子句并确保name变量中包含的数据具有/后缀和前缀。那也没有用。

但来自客户mongoVue的查询:RockMongo

返回数据。

问题 1:如何使用 spring-data-mongo编写LIKE CLAUSECriteria
问题2:使用 or 和 and 子句的正确方法是criteria

谢谢阅读

0 投票
1 回答
3415 浏览

mongodb - 关于mongodb子文档和spring-data-mongo查询的问题

我仍在尝试了解mongodb如何映射最佳实体。例如:实体用户和实体地址。可能会one-to-many有人来自jpa背景。在 mongo 我不想使用dbref. 所以地址Set在用户的集合中。

假设我正在使用spring-data-mongo

问题1:用户和地址都应该有@Document注释吗?还是只有用户?

问题2:查询用户地址的最佳方法是什么。一开始有可能吗?因为现在我查询得到Userby usernameorId然后得到用户的地址。我可以直接查询sub-document吗?如果是,如何使用spring-data-mongoCriteria Query 完成:

0 投票
6 回答
35828 浏览

java - 以编程方式设置 MongoDb 转换器

我正在尝试使用带有 spring-data-mongodb 的自定义转换器。我想以编程方式创建它,但出现以下错误:

以下是失败的代码片段:

这是我的转换器类:

我试图坚持的课程如下所示:

0 投票
1 回答
14649 浏览

java - MongoDb - Idle connection timeout

I don't see an option among the (MongoClientOptions) to set a timeout for idle connections from the application to MongoDB. We see that connections opened to the mongodb remain open for hours. How this handled in mongodb, is there any options to set idle connection timeout in mongo? http://api.mongodb.org/java/2.10.1/ (MongoClientOptions)

0 投票
2 回答
10397 浏览

java - PersistenceConstructor 参数变量名称与实例变量名称不匹配

我正在尝试使用spring-data-mongodbversion保留以下对象1.1.1.RELEASE

MappingException当我尝试从数据库中读回对象时,我得到了一个(请参阅下面的完整堆栈跟踪)

我的小组使用的命名约定要求参数变量名称以 . 开头a_,实例变量名称以 . 开头m_。似乎spring-data-mongodb假设构造函数参数变量名称必须与对象实例变量名称匹配。

  • 为什么不spring-data-mongodb使用我在构造函数中定义的实例变量映射的构造函数参数?
  • 是否有另一种方法来定义此映射,以便spring-data-mongodb正确构造我的对象,或者是我打破命名约定的唯一选择?

.

0 投票
1 回答
2749 浏览

java - 使用 spring-data-mongodb 持久化包含对象的对象

以下是问题 13832188的后续问题:

我正在使用spring-data-mongodb版本1.1.1.RELEASE。如果所有成员变量都是原始类型,即使参数的名称与使用和注释 @PersistenceConstructor的成员变量的名称不完全匹配,我也能够持久化一个对象。@Field@Value

但是,MappingInstantiationException当我尝试持久化包含其他对象的对象时,我得到了一个。我的问题:

  • 这是一个错误spring-data-mongodb还是我做错了什么?
  • 需要更改哪些内容才能正确持久化包含对象的对象?

.

PrimitiveContainerObjectContainer班级如下:


**更新:**奇怪的是,将注释中的字符串更改为@Field“属性”以外的内容或完全删除@Field注释以ObjectContainer m_property允许 spring-data-mongo-db 属性重新实例化我的持久ObjectContainer类。我不明白为什么会这样。有人有想法么?

0 投票
1 回答
3569 浏览

mongodb - 创建 mongodb 集合时没有任何文档

所以我的问题是在我的生产数据库中自动创建集合,这些集合旨在包含临时数据(但从逻辑上讲,这些临时文档中的任何一个都不会填充)。为什么会这样,我该如何避免这种行为?

例如更正式的解释,我有两个数据库 - 以及它们包含的集合

但是当我开始存储数据时,spring会自动创建

作为记录:我已经在使用 1.1.1.RELEASE。我创建了一个小测试用例,其中重复了这种行为:两个文档(MyDocOne 和 MyDocTwo)都在自定义字段上包含 @Indexed 注释 - 它们还包含对象类型的字段。因此,当我创建实体myDocOne and myDocTwo- 设置myDocTwo.obj = myDocOne和持久化时 - spring在......中myDocTwo创建了一个集合,这有点令人困惑 - 我希望下面的代码能提供更好的概述。myDocOnetemplate2

和文件:

0 投票
0 回答
1377 浏览

java - 使用 spring-data-mongodb 持久化包含原始数组的对象

我正在使用spring-data-mongodb版本1.1.1.RELEASE。如果所有成员变量都是原始类型,即使参数的名称与使用和注释 @PersistenceConstructor的成员变量的名称不完全匹配,我也能够持久化一个对象。@Field("foo")@Value("#root.foo")

但是,MappingInstantiationException当我尝试持久化包含原始数组的对象时,我得到一个(构造函数的非法参数)。无论原始数组是否包含原始数组或对象,这都是正确的。这是一个错误spring-data-mongodb还是我做错了什么?

我在下面包含了三个依赖于junitand的单元测试spring-data-mongodb。测试显示了三件事:

  • 包含对象集合的持久对象按预期工作
  • 包含基元数组的持久对象无法按预期工作
  • 包含对象数组的持久对象无法按预期工作

.

我得到的异常的堆栈跟踪也在下面列出。

0 投票
2 回答
8982 浏览

mongodb - 获取时对集合中的文档进行排序

我在 MongoDB 有一个名为 resource 的集合。它有以下文件:

在 Java 代码中,我将它们列出如下:

我如何获取这些按 ID 排序的文档!