问题标签 [mongotemplate]

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 投票
3 回答
10861 浏览

mongodb - 使用 MongoTemplate 创建搜索索引?

我们如何Indexes使用创建以下查询MongoTemplate?我指的是网站http://docs.mongodb.org/v2.4/tutorial/search-for-text/他们没有提供任何关于我们如何使用 MongoTemplate 创建索引的详细信息?

0 投票
1 回答
3531 浏览

java - MongoTemplate:匹配某个标准的文档的键值总和

我的以下 mongodb 查询按预期工作

但即使在参考了这些 问题教程之后,它的等效 Java 代码......

...返回一个空列表并抛出IndexOutOfBoundsException,尽管我的查询在控制台上返回结果!

0 投票
2 回答
52205 浏览

java - MongoTemplate 标准查询

我正在Mongo根据多个参数生成一个复杂的查询。我想用Criteria助手类制定的标准之一是:

我试图做到这一点:

但它会产生:

那么,如何实现我需要的确切查询? 我无法对该查询字符串进行硬编码,因为这些类型标准是为 field1,...fieldN 动态生成的,然后与$or

0 投票
2 回答
2366 浏览

mongotemplate - Mongotemplate 无法重命名集合

我有一个名为collection_One. 我想重命名集合,但失败了。mongotemplate给我看了:

在 admin 数据库上执行“renameCollection”命令”

如果我运行:

db.collection_one.renameCollection("collection_one","collection_two"); 在 mongo shell 中,它工作正常。

如何通过 mongotemplate 重命名集合?

这是我正在尝试的代码:

0 投票
1 回答
2586 浏览

spring - 如何将 mongoTemplate 自动装配到自定义类型转换器中?

我正在尝试创建一个转换器,它将通过它的 ObjectId 从数据库中获取对象。但是 mongoTemplate 在转换器中始终为空:

org.springframework.core.convert.ConversionFailedException:

无法将类型 org.bson.types.ObjectId 转换为类型 com.atlas.mymodule.datadomain.MyObject 以获取值“130000000000000000000013”;

嵌套异常是 java.lang.NullPointerException

代码:

配置:

测试配置:

更新:

我已经根据@mavarazy 建议更新了代码(添加了 ObjectIdToMyObjectConverter bean 定义),但出现异常:

创建名为“mongoTemplate”的 bean 时出错:当前正在创建请求的 bean:是否存在无法解析的循环引用?

完全例外:

谢谢。

0 投票
1 回答
666 浏览

java - Spring Data、MongoTemplate save() 和 REST

我开发REST API并使用 Spring Data来保存数据库MongoTemplate上的任何资源。Mongo

API 之一是:

PUT /devices/{deviceId}

对于 REST 兼容,我应该返回200aupdate201for create

当我做 a 时MongoTemplate.save(device),我怎么知道 mongo 是做insert()还是update()

0 投票
1 回答
680 浏览

java - mongodb BSON 对象错误

我在用

有依赖关系

它适用于 mongodb 3.0.3 版

但是当我使用 mongodb 3.2.0 版时抛出错误

这是例外

请帮我。我究竟做错了什么?

提前致谢。

0 投票
1 回答
1911 浏览

mongodb - mongoTemplate 无法找到集合并引发异常

根上下文.xml:

UserDaoImpl:

在保存第一个 UserAccount 时,我已经创建了 userAccount 集合。

但是当我试图抵抗另一个用户时,它只是mongoTemplate.collectionExists("userAccount")在这里返回 false ,当它进入保存部分时,它会抛出一个异常:

我努力了:

0 投票
2 回答
16728 浏览

java - MongoTemplate 聚合 - 按日期分组

我正在尝试使用 mongotemplate 创建聚合查询,其中按日期(即 2016-03-01)而不是日期时间(即 2016-03-01 16:40:12)分组。该dateToString操作存在于 mongodb 文档中,它可用于使用格式从日期时间中提取日期: https : //docs.mongodb.org/manual/reference/operator/aggregation/dateToString/ 但我得到它与 mongotemplate 一起使用- 我得到一个 NullPointerException。(我的数据库版本是 3.2)

当我dayOfMonth(timeCreated)用来提取一天时,也不例外,但我找不到如何使用dateToString. 我尝试不使用 '' 作为日期格式,但它也没有工作......

这是我得到的例外:

编辑:

最终我们在这里决定采用不同于下面建议的解决方案,我在这里写它以防其他人发现它有用:

除了保存日期时间的“timeCreated”字段之外,我们在文档中保存了另一个字段:“date”,它只保存日期(只要)。

例如如果“timeCreated”=“2015-12-24 16:36:06.657+02:00”,那么日期是“2015-12-24 00:00:00”,我们保存1449180000000。现在我们可以简单地分组按“日期”。

0 投票
1 回答
2938 浏览

java - Mongotemplate聚合 - 获取结果数量

我想使用 mongotemplate 获取聚合的结果总数。

澄清一下 - 对于查询,我们可以使用: mongoTemplate.count(query, collectionName),它在不考虑限制/跳过的情况下获取结果数量。

但是,对于 mongotemplate 聚合,我找不到类似的东西......因为我们使用分页,所以需要总结果,并且需要知道没有限制/跳过的总数。

编辑:例如,如果我有以下包含 10 个文档的集合 A:

{ field1 : ... , field2 : ... , }, ...

我可以创建一个查询来使用 mongotemplate 获取文档:

现在,如果我有一个聚合而不是查询:

我想要某种方法来获取聚合中的结果总数 - 类似于查询的“计数”。