问题标签 [mongodb-indexes]
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.
mongodb - 带有“字段”的查询索引:{$not: {$elemmatch: {...}}?
为什么在搜索此类文档时此查询不使用此索引?
我的查询:
我的索引:
我的文件:
mongodb - Pymongo collection.find_and_modify,指定要使用的索引?$提示?
我的 find_and_modify 查询使用了错误的索引。
有没有办法使用 PyMongo 提示正确的索引(按名称或其他方式)?
在任何文档中似乎都没有提到这一点......
mongodb - 用于电子邮件收集的 MongoDB 分片键
我正在使用 MongoDB 2.6.1
我有一个按项目存储电子邮件的集合。文件如下(为了便于阅读,没有包含“原始电子邮件文本”键):
在选择分片键时,我有以下想法:
- 建立一个复合索引 { Project_Id, _id } 因为Project_Id具有低基数但_id具有高基数
- ' Date ' / ' Unique_Id '上的散列索引,它们都是时间戳
- ' From ' 字段上的散列索引,但它的基数取决于否。参与项目的人
- ' To ' 和 ' CC ' 是多值键,而 ' Subject ' 具有很高的随机性,所以不确定这些键是否可以使用
- 虽然未在输出中列出,但“ Raw_Text ”将被不同的应用程序广泛阅读,但我不确定是否应该构建索引,甚至是否应该在此键的分片中使用!
在这种情况下,最佳分片键是什么?
java - 使用java在mongodb中创建一个具有多个字段的索引
我是新手MongoDB
。默认情况下,集合中mongodb
有字段索引。_id
我需要使用 Java 在另外 2 个字段上创建索引。
当我使用 db.collection_name.getIndexes() 在 mongodb 中查询时
我不确定上述是否正确。有人可以确认吗?如果不正确,我该如何纠正?
添加到上面,为了检索,我正在做这样的事情:
现在,为了像上面那样快速检索,我应该在 field1、field2 和 field3 上分别创建索引吗?或所有 3 个字段的复合索引?
mongodb - mongodb后台TTL不删除文档
我在 Mongo 2.4.10 上使用 TTL 索引,但它不再起作用了。例如,在一个集合中,我将其设置为 5 天(432000 秒),正如我们在 db.collectionName.getIndexes() 中看到的那样:
但是一个 findOne() 向我显示了一个比预期更旧的文档:
创建 TTL 索引的 java 代码如下:
直到最近,一切似乎都运行良好:我们之前在生产中没有注意到它。这发生在我所有的数据库和所有相关的集合上。
怎么了 ?
编辑:
我检查了我的服务器配置,启用了 TTL 监视器:
mongodb - 提高 mongo 上的 geoIndex 性能
我有下一个收集样本:
我插入了 10.000 行来评估架构性能
结果是下一个:
我尝试创建一个具有相同结果的“2d”索引。
总结我认为查询正在扫描太多行,我做错了什么?也许是模式定义?
谢谢!!
mongodb - mongodb快速标签查询
我有一个非常大的集合(超过 800k),我需要实现一个基于标签的自动完成(仅基于单词开头)功能的查询。我的文件如下所示:
例如,如果我的查询将针对所有以“ab”开头并具有“somefield”即“some value”的标签,则结果将是“abc tag1”、“abc tag3”(仅名称)。我更关心查询的速度,而不是插入和更新的速度。
我假设聚合框架是正确的方法,但是对于非常快速的查询来说,最好的管道和索引是什么?
这些文档不是“标签”文档,它们是代表客户端对象的文档,它们包含更多数据字段,为简单起见,我省略了,每个客户端都有几个标签和另一个字段(我更改了它的名称,所以它不会与标签混淆大批 )。我需要获得一组客户拥有的所有标签不重复的集合。
node.js - 唯一和稀疏模式级索引 MongoDB 和 Mongoose
我正在尝试使用 Mongoose 在 MongoDB 中唯一且稀疏的模式的两个字段上创建索引,如下所示:
然后在 User 模式中的数组中使用,如下所示:
但是,当尝试在没有该array
字段的情况下保存多个用户时,重复字段会引发错误。Mocha 中的错误类似于:array.event_id_1 dup key {null, null}
. 会抛出此错误的代码段示例如下:
这是我使 ArraySchema 的字段唯一且稀疏的原因:如果指定了array
字段,我不希望数组包含重复的对象;但是,该array
字段不是必需的,因此会有很多用户拥有null
该字段。显然我不能使用字段级索引,因为有多个字段需要索引(arrayType1
、、、arrayType2
)arrayType3
。
mongodb - 溢出排序阶段缓冲数据使用量超过内部限制
使用代码:
计数打印2043484
,它打印all_reviews[0]
。
但是,在打印时all_reviews[2000000]
,出现错误:
pymongo.errors.OperationFailure:数据库错误:运行器错误:溢出排序阶段缓冲数据使用量 33554495 字节超出内部限制 33554432 字节
我该如何处理?
mongodb - MongoDB 索引和投影
我有几个关于 MongoDB 的问题:
(1) 索引是否有助于投影?
(2) 我已经为一个集合分配了许多索引,并尝试使用排序运行查找,然后使用,它在排序字段上explain
显示索引。BtreeCursor
难道是其他索引在查询部分有所帮助,explain
只是没有显示它,因为它只显示了帮助查找的最后一个索引?
还是explain
应该显示所有有助于查询、排序等的索引?
谢谢。