问题标签 [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.
spring-data - 使用 DBRef 查询集合
我有2个实体如下:
项目不能有自由职业者的参考,因为可能有很多自由职业者可以投标项目。我想做以下事情:
查找对名称 = "XYZ" 的项目进行投标的自由职业者。
应该是什么查询(基于JSON的查询),我尝试了以下(其他组合但没有任何效果):
spring - 未找到工厂 bean 'customConversions'
我正在尝试将我的 MongoDB 库更新到最新版本,现在有几个错误,可能相关也可能不相关。第一个是在我的 applicationContext.xml 中,在此部分旁边出现错误“未找到工厂 bean 'customConversions'”:
我无法从文档中看到我可能遗漏的任何内容。什么可能导致这种情况,我可以做些什么来解决?
如果我尝试运行该应用程序,我现在得到:
我正在使用以下 Maven 依赖项:
org.springframework.data:spring-data-mongodb:1.1.1.RELEASE org.springframework:核心,spring-context等:3.2.1.RELEASE
这只是一个损坏的版本,还是我做错了什么?之前在我的模型类中使用 java.util.Date 没有问题。
mongodb - Spring数据MongoDB多数据库
我想知道 MongoDB 的 spring 数据是否可以处理多个数据库并执行跨数据库查询和插入。
例如,如果我想存储EntityA
在 DBdbA
和EntityB
in 中dbB
并且EntityA
有一个引用EntityB
,Spring Data 会生成正确的DBRef
指向正确的集合和正确的数据库吗?
然后我可以查询EntityA
然后最终延迟获取EntityB
吗?
Morphia缺乏这个功能以及其他东西,我想知道 Spring 数据在大跳水和放弃 Morphia 之前是否有它。
mongodb - MongoTemplate.save 上出现意外的 OptimisticLockingException
使用 MongoTemplate 我正在尝试存储一个名为 Person 的实体。由于我想使用乐观锁定,因此使用 @Version 注释对实体进行版本控制。
当我尝试使用 MongoTemplate.save 将新的 Person 实体存储到空集合中时,我得到 OptimisticLockingException。我没想到会这样,因为我正在创建一个新对象而不是更新现有对象。(并且没有其他线程正在访问该集合。)
这是预期的行为,还是我做错了什么?
(如果我改用 MongoOperations.insert,一切正常。(但我想使用 save,因为 CrudRepository 只有保存,没有更新。)如果我删除 @Version 注释,它也可以工作。)
谢谢,丹尼尔
我的实体类:
我的测试设置(使用 EmbedMongo 设置 MongoDb 实例):
spring - 第一页加载时出现 Spring Data 转换器错误,之后工作正常
我在我的 Spring MVC 应用程序中使用 spring-data-mongodb 依赖项。到目前为止它工作正常,但我需要将一个 Class 实例属性添加到我的域对象之一。由于 Mongo 不直接支持持久化 Class 实例,因此我为这种情况添加了自定义转换器。我按照这里的说明操作:http: //static.springsource.org/spring-data/data-mongodb/docs/current/reference/html/mongo.core.html#mongo.custom-converters.writer
所以我的转换器看起来像:
我使用以下方法注册了这些转换器:
现在的问题是,当应用程序启动并且我第一次在应用程序中加载第一页时,我得到了一个异常。如果我重新加载/重新提交该页面,一切正常。之后我访问的每个页面也都没有问题。
这是写异常:
读取异常:
为什么我只在一个页面上得到这个问题,而且只在第一次出现?它就像没有实例化的东西,然后突然一切都很好。任何帮助表示赞赏!
我正在使用 1.1.1.RELEASE 版本,甚至尝试使用 1.2.0.BUILD-SNAPSHOT 。
mongodb - 使用 Spring Data 的 Mongodb 文档版本控制
我在我的 Java 应用程序中使用 Spring Data 连接到 MongoDb 并要求对文档进行版本控制(基本上是存储历史记录)。如果使用Mongoid,它在 Ruby 中似乎非常简单
我想知道 Spring Data 是否对 Java 有类似的东西。或者你最好尝试实现你自己的。
mongodb - 如何检索 Mongo DB 数组中存在的元素?
我的结构如下所示:
我知道我可以使用以下代码检索第一个数组中存在的元素:
但是,我想对name
属性应用相同的逻辑。我只想检索名称为“sachin”的文档。我尝试的内容如下所示:
但是Mongo db说它不支持'。投影内的运算符:(。
还有其他方法可以做到这一点吗?(使用命令提示符或代码)
插入文档的命令如下所示:
我期望输出为:
java - 在带有 Spring Data 的 Mongo 实体中使用 jodatime
我有一个实体,它将与 Spring Data 一起保存到 Mongo 数据库:
这是我的存储库:
以及我的 pom.xml 中用于 QueryDSL 生成的插件
尽管如此,它将 DateTime 视为常规实体(我尝试过使用和不使用 QueryType)。我希望它被视为日期,所以我可以进行比较,因为现在我不能:
当然,如果可能的话,我想坚持使用 JodaTime,而不是回退到 Java Date,或者将日期存储为毫秒。
mongodb - 如何检索 Mongo DB 中数组中存在的所有匹配元素?
我的文件如下所示:
我想检索所有匹配的文档,即我想要以下格式的 o/p:
我试过的是:
但是,它只给出第一个条目。
java - 自动设置 createdOn 和 UpdatedOn
我正在玩 spring-data 和 mongodb。我想要实现的是在创建和/或更新对象时自动设置 createdOn 和 updatedOn 日期。所以我基本上创建了一个包含 createdOn 和 updatedOn 日期属性的“BaseDocument”,并创建了一个 AbstractMongoDbListener 以便我可以在保存(onBeforeSave)之前拦截文档,然后设置这些日期。问题是,如果我不将这些日期添加到扩展 BaseDocument 的类的构造函数中,这些日期将不会保存到数据库中。子类需要在其构造函数上具有 createdOn 和 updatedOn 才能使这些持久化,这与自动创建这些日期的想法相混淆。实施它的好策略是什么?
提前致谢!