首页 > 解决方案 > $elemMatch 范围查询语法

问题描述

我正在使用此解决方案来索引具有许多不同字段的消息。具体来说,我正在使用解决方案#2。

范围语法示例

db.generic2.find({"props": { $elemMatch: {$gte: {"prop1": 6}, $lt: {"prop1": 99999999 } }}})

我从未在 MongoDB 文档中看到过这种语法,而是到处都看到类似的语法

db.generic2.find({"props": { $elemMatch: {"prop1": {$gte: 6, $lt: 99999999 }}}})

有什么区别?有趣的是,使用第一个我使用索引获得快速查询,使用第二个我获得一个带有集合扫描的慢查询。两个结果都是正确的,但是不同。

标签: mongodb

解决方案


推荐阅读