我正在使用this solution为具有许多不同字段的消息编制索引。具体来说,我正在使用解决方案2。
范围语法示例
db.generic2.find({"props": { $elemMatch: {$gte: {"prop1": 6}, $lt: {"prop1": 99999999 } }}})
我从没在MongoDB文档中看到过这种语法,而是在各处都看到了类似的语法
db.generic2.find({"props": { $elemMatch: {"prop1": {$gte: 6, $lt: 99999999 }}}})
有什么区别?有趣的是使用第一个查询,我使用索引获得快速查询,使用第二个查询,我使用集合扫描获得了缓慢查询。两种结果都是正确的,但是有所不同。