问题标签 [mongodb-query]

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 投票
2 回答
469 浏览

ruby-on-rails-3 - mongoid 查询 - 调用 size 方法会产生错误

当我执行此查询时:

我收到以下错误:

但根据这里的文档:

http://mongoid.org/docs/querying/criteria.html

这应该是可能的。那么,为什么会出现错误?

注意:“comments”是与 User 具有“has_and_belongs_to_many”关系的单独集合。

我正在使用 mongoid 3.0.0 和 bson_ext 1.6.1

提前致谢!

0 投票
1 回答
15892 浏览

datetime - 在mongo中获取日期/ ISODate的组件

如何minuteISODate存储中获取组件MongoCollection

0 投票
2 回答
3861 浏览

php - MongoDB:用两个查询查询多个集合?

我有两个收藏帖子作者。除了帖子数据之外,帖子文档还包含指向作者_id的DBref 链接ID 。我的收藏看起来像这样:

帖子

我的作者收藏看起来像这样:

作者

我正在尝试创建一个“关系”查询来查找:评分大于 6 且小于 9 且帖子作者年龄大于 19 且小于 25 的帖子。

我正在尝试汇总此数据,但似乎无法获得正确的数据。

第一个查询在我的帖子集合中,如下所示:

我选择了 author.$id 字段,它是对作者集合的引用。

然后我将所有 $id 放在一个数组中,如下所示:

然后我尝试在作者集合中使用此查询找到正确的数字

我尝试使用以下代码获取总数: $count = $cursor->count(); 但无论我尝试运行什么查询,我总是得到结果0

我做错了什么,是否有可能创建这种查询,还是我必须在应用程序级别而不是数据库级别进行?

而且我很了解嵌入式文档,但我希望将这两个集合分开而不是嵌入它。

希望任何人都可以帮助我。

真诚
- Mestika

0 投票
1 回答
5605 浏览

mongodb - MongoDB 的高级查询语言

RDBMS 的一大优势是 SQL 作为一种非常声明性和强大的查询语言。我知道 MongoDB 有一种查询语言,但它不包括连接。有没有人尝试为 MongoDB 制作一种高级查询语言

a) 处理不同集合的连接?

b) 通过查看集合中的索引和索引的基数来巧妙地处理连接——即模仿 SQL 中的查询计划?

似乎您应该能够编写更高级别的查询语言,使用 (b) 来巧妙地输出 Javascript 代码和执行 (a) 的 Mongo 本机查询的组合。

0 投票
2 回答
447 浏览

mongodb - 选择时的mongodb增量计数器

当 find 命令返回文档时,有没有办法通过将($incr)其计数器字段(假设有一个计数器字段)增加 1 来更新文档?

或者,

没有办法,只能手动更新?

0 投票
2 回答
3790 浏览

php - MongoDB + PHP:如何使用特定键将项目推送到数组?

在 MongoDB-PHP 中,我使用以下示例代码将新条目推送到集合内数组的末尾...

这将返回 0,1,2,3.... 之类的键,即。

我想要做的是将 YearWeekNumber 存储为这样的键......

您如何与新条目一起保存/更新密钥?我假设你不能使用 $push。您只使用 .save 或 .update 但如何传递密钥?

0 投票
2 回答
6222 浏览

mongodb - Spring-Data mongodb查询存储在同一个集合中的多个类

使用 Spring-Data,您可以使用 @Document 注释来指定将对象保存到哪个集合。假设我有两个班级,学生和教师,都坚持到人员集合中。当我执行以下代码时:

结果同时包含学生和教师。查看 Spring-Data 创建的数据,每个文档都包含一个“_class”字段,该字段指示它来自哪个类。

这是不是在查找中用作过滤器以仅返回教师的字段?除了这样做之外,我如何只查询老师:

0 投票
1 回答
4907 浏览

mongodb - MongoDB $slice(嵌入式数组分页)

我有这个架构:

如果我有 8 条评论,然后查询

我得到了从索引 0 到索引 4 的
评论,但我只想返回从索引 0 到索引 2 的评论,因为分页。
(第 1 页 $slice[ -5, 5 ] 从索引 3 到索引 7,第 2 页 $slice[ -10, 5 ] 从索引 0 到索引 2)

现在我必须传递另一个参数“lastId”来比较每个评论并删除“_id”<“lastId”,但我认为这有点hacky。

有人对此有很好的解决方案吗?

0 投票
4 回答
58239 浏览

mongodb - 更新 MongoDB 中精确元素数组中的字段

我有一个结构如下的文档:

我可以在数组中嵌入对象数组的$set第二个元素吗?itemsherosnickname "test"

结果:

0 投票
2 回答
1230 浏览

mongodb - MongoDB - 将存储的值强制为大写并搜索

在 SQL 世界中,我可以做一些事情:

这将匹配对“Smith”、“SMITH”、“SmiTH”等的搜索……因为它强制查询和值是相同的大小写。

但是,如果不使用 RegEx,MongoDB 似乎没有此功能,RegEx 不会使用索引,并且对于大量数据会很慢。

有没有办法在 MongoDB 中对存储的值进行搜索之前将其转换为特定的情况?

我遇到了 $toUpper 聚合,但我不知道在这种特殊情况下如何使用它。

如果在搜索之前无法转换存储的值,是否可以让 MongoDB 在 Mongo 中创建值时转换它?因此,当我将文档添加到集合中时,它会强制将“名称”属性用于特定情况吗?类似于 Rails 世界中的回调。

看起来也可以为 MongoDB 创建存储的 JS,类似于存储过程。这也是一个可行的解决方案吗?

主要是在寻找正确方向的推动力;一旦我知道我在寻找什么,我就可以找出特定的代码,但到目前为止,我什至不确定我想要的功能是否可行。