问题标签 [spring-mongo]
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.
java - Spring Boot Mongo - E11000 重复密钥
我正在使用 spring-boot-starter-data-mongodb 构建一个简单的 REST api,并且E11000 duplicate key error
在尝试插入我的第二行时总是得到一个。
Spring 的入门指南有一个我遵循的非常简单的配置,但我一定遗漏了一些东西。
我已经删除了集合,重新开始,第一个文档保存得很好,但第二个文档也尝试保存为 id=0。如何让 Spring/Mongo 正确递增?
这是我得到的错误:
游戏
游戏库
应用配置
感谢您的关注!
spring - spring data mongodb NearQuery 添加另一个条件
是否可以向 NearQuery 添加条件?
目前我正在这样做:
我想在查询中添加另一个条件,是否有可能以及如何?
java - 如何插入包含列表的 mongo(或 spring-mongo)文档
我正在尝试确定是否有一种方法使用 spring-mongodb(甚至使用 mongo java API)来更新包含列表的文档,以便列表的元素始终是更新插入的值的联合。
假设我有以下类(为了简化事情而组成):
此外,假设我只获得最新阅读书籍的更新,但我想在数据库中保留所有阅读书籍的完整列表。所以我想做的是插入一个 Patron (with booksRead) 如果它不存在或更新他们的 booksRead 如果 Patron 已经存在。
所以,第一个 upsert 'John Doe' 不在集合中,所以文档被插入并且看起来像这样:
约翰重读了《愤怒的葡萄》,也读了《人鼠之间》。在阅读书籍时尝试插入 2 本书,但我只想在阅读列表中插入“Of Mice and Men”,因此文档如下所示:
我尝试过的一切似乎都表明需要将调用分开,一个用于插入,另一个用于更新。Update.set 适用于初始加载(插入),但会在第二次更新时替换完整列表。$addToSet 适用于更新,但抱怨尝试在初始插入时插入“非数组”。
更新:
这似乎是 Spring-mongodb 的问题。我可以通过 mongo java api 调用实现上述目标,但在使用 spring 等效项时它会失败。(至少到 spring-data-mongodb 1.6.2)
spring - MongoDB比较运算符与null
在 MongoDB 中,我想使用 $gt 和 $lt 比较运算符,其中的值可以是null。当操作员不使用null时,我查找了文档但没有找到。在这两种情况下,它都没有返回任何文档(尽管 $ne、$gte 和 $lte 确实返回了文档;这意味着存在既等于又不等于null的文档)。
我希望 $gt 基本上像 $ne 一样运行(因为null类型的Mongo comarison 订单非常低)并且 $lt 出于同样的原因不返回任何内容。
我希望这会起作用,因为我传递给查询的值是可变的(可能是null),我不想为null写一个特殊情况。
给定以下集合,我所期待的示例:
我期望以下查询:
返回:
然而,什么都没有返回。
是否有原因 $gt 和 $lt 似乎不适用于null,或者它是 MongoDB 错误,还是它实际上应该工作并且可能存在用户错误?
spring - Spring Mongodb 双向 dbref
是否可以在 mongodb 中有双向 dbref(就像我们在关系数据库中可以有的那样,双向一对多关系)。如果可能的话,如何在 Mongodb 和 Spring-mongodb 中表示。我面临的确切情况如下
假设我们想建立一个论坛。论坛可以有多个论坛主题。每个主题都可以发帖,但帖子应标有一个论坛主题。论坛--> 主题和主题--> 帖子之间存在一对多的关系,也有来自帖子--> 论坛主题的关系。鉴于这种情况如何使用 Spring-mongodb 进行处理。
java - Spring mongoTemplate 线程安全吗?
我定义了这个 Bean:
我使用这个 Bean 实例化了一个mongoOprations
,现在我想知道 SpringmongoTemplate
线程是否安全?
java - SpringData - 动态 Mongo 配置
我正在开发一项服务,我被迫调用服务以获取连接参数以连接到 mongo db。我之前使用过 @Configuration 和 AbstractMongoConfiguration 类和静态配置变量,效果很好。
这次我希望有一种方法可以动态设置 MongoClient 配置变量,以便我可以动态查询不同的 mongo 数据库。任何机构都知道这是否可能?
java - 动态重载 Spring Mongo 数据库连接,无需重启服务器
我们在 Tomcat 中部署了一个基于 spring 的 webapp,我们希望为用户提供一个连接到哪个 mongo 数据库的选项。为此,我们有一个设置向导,它通过在线表单从用户那里捕获 mongo 连接详细信息。捕获这些细节后,我们想动态连接到 Mongo。现在我们通过 xml 配置加载我们的 mongo:
用户值由配置映射器 bean 读取/写入存储,但是在设置它们之后,我们基本上想要“重新启动”mongo 驱动程序。为此,我们正在尝试:
这带来了重新加载所有应用程序 bean 的好结果,我们甚至可以在日志中看到重新创建的 Mongo bean 以及上下文中的所有其他 bean:
但是,当我们去使用连接时,我们会得到以下堆栈跟踪:
我们认为也许 mongo 连接没有正确关闭,所以我们引入了 mongo bean 并在重新加载之前将其关闭:
但是我们收到了同样的例外。
有谁知道我们如何在不重新启动应用服务器的情况下实现动态 mongo 重新连接?也许还有另一种方法可以解决这个问题?我们希望为最终用户提供 GUI Web 配置,而不是自己编辑配置文件。
感谢您提供的任何建议。
spring-mongo - Spring Mongo 从 json 字符串转换为文档
我有一个用 @Document 注释的 Mongo 集合,我希望能够从字符串 (JSON) 中获取该 Java 对象,因为我们将这些类作为字符串推送到队列中。
Spring-Data-Mongo 中是否有将 JSON 转换为实际 Document 对象的方法?
java - 字符串 Mongo 从 GridFs 中删除所有文件
使用 Spring Mongo 有没有一种方法可以只使用查询或类似的东西一次从 Mongo 中删除多个文件(使用 GridFS 存储)?例如,如果我在集合 .files 中有一个字段 Language,我希望能够在单个查询中从 .files 和 .chunks 中删除所有条目。不确定这在 Mongo(春季以外)是否可行。
尝试使用 GridFsTemplate 但删除方法调用 GridFS.remove 方法(来自 Spring-Mongodb 的代码)
而这个方法获取内存中的所有文件,然后一一删除:
更新:来自评论:
是的,您不能在 MongoDB 中执行此类查询。此外,没有直接的方法可以使用 mongofiles 命令行工具和 mongo java 驱动程序删除 GridFS 中的一堆文件。