首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于具有排序和范围的MongoDB的复合索引

用于具有排序和范围的MongoDB的复合索引
EN

Stack Overflow用户
提问于 2016-04-23 02:23:29
回答 1查看 76关注 0票数 1

我有这样的疑问:

代码语言:javascript
复制
db.contacts.find({createdAt: {$gte: 1458585000000, $lte: 1461349799000},
                  asset_type: "personal", 
                  createdBy: "pxedNoPZzGAdx2fnK", 
                  status: "done"})
           .sort({createdAt: -1})

是否可以为这类查询编写既包括范围又包括排序的复合索引?

我已经创建了一个复合索引,例如:

代码语言:javascript
复制
contacts._ensureIndex({createdAt: 1, asset_type: 1, createdBy: 1, status: 1});

这个复合索引会起作用吗?

EN

回答 1

Stack Overflow用户

发布于 2016-04-23 05:30:03

正如@JohnnyHK所建议的那样,这个索引可能会起作用,但这并不意味着如果你使用你发布的查询,你就会提高效率。像$gte$lte这样的命令可以使用索引,但是它们的效率可能很低。从MongoDB的官方YouTube频道看这个视频:https://www.youtube.com/watch?v=1sADN-NKwhY

此外,当您使用复合索引时,您需要注意在查询中放置字段的顺序,这在您的情况下是正确的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36800874

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档