mongodb - $elemMatch 范围查询语法
问题描述
我正在使用此解决方案来索引具有许多不同字段的消息。具体来说,我正在使用解决方案#2。
范围语法示例
db.generic2.find({"props": { $elemMatch: {$gte: {"prop1": 6}, $lt: {"prop1": 99999999 } }}})
我从未在 MongoDB 文档中看到过这种语法,而是到处都看到类似的语法
db.generic2.find({"props": { $elemMatch: {"prop1": {$gte: 6, $lt: 99999999 }}}})
有什么区别?有趣的是,使用第一个我使用索引获得快速查询,使用第二个我获得一个带有集合扫描的慢查询。两个结果都是正确的,但是不同。
解决方案
推荐阅读
- windows - Windows Socket #10060 错误(WSAETIMEDOUT - 尝试连接超时但未建立连接)是否完全是编程错误?
- r - 如何将 %in% 的使用与 OR 运算符结合使用?
- .net - 如何为 Azure WebJob 的每次执行设置区域性?
- swift - UICollectionView 上的可见单元不能在没有参数的情况下调用
- sharepoint-online - SharePoint(本地)列表中的日期字段返回前一天日期而不是 MS-Flow(在线)中的当前日期
- android - 定义 ButterKnife 后,Manifest 合并失败:属性 application@appComponentFactory 错误
- selenium - 无法读取未定义的属性“defaultView”
- c++ - 在 Visual Studio 2019 中添加服务引用
- physx - 需要获得对象/身体的位置
- razor - cshtml.cs 中的 GoTo 函数转到 cshtml 页面