Database 如何使用equals为mongoDB创建高效索引,并按日期ASC和DESC排序
在我的数据库中,我想创建一些索引,帮助我更快地搜索以下内容:Database 如何使用equals为mongoDB创建高效索引,并按日期ASC和DESC排序,database,mongodb,nosql,Database,Mongodb,Nosql,在我的数据库中,我想创建一些索引,帮助我更快地搜索以下内容: db.getCollection('mycoll').find( {product: {$eq: "bread"}}).sort({date: 1}) db.getCollection('mycoll').find( {product: {$eq: "bread"}}).sort({date: -1}) 在我阅读的文档中: 例如,索引键模式{a:1,b:-1}可以支持排序 在{a:1,b:-1}和{a:-1,b:1}上,但不在{a:
db.getCollection('mycoll').find( {product: {$eq: "bread"}}).sort({date: 1})
db.getCollection('mycoll').find( {product: {$eq: "bread"}}).sort({date: -1})
在我阅读的文档中:
例如,索引键模式{a:1,b:-1}可以支持排序
在{a:1,b:-1}和{a:-1,b:1}上,但不在{a:-1,b:-1}上,或
{a:1,b:1}
但我只想对一个字段日期进行排序。
如何为此创建最佳索引?内容如下:
如果排序键对应于索引键或索引前缀,MongoDB可以使用索引对查询结果进行排序。复合索引的前缀是由索引键模式开头的一个或多个键组成的子集
索引
{date:1,product:1}
将支持这两个查询。谢谢,您有权:)一秒钟前,我在explain(“executionStats”)中使用索引检查了这两个查询,但当我创建这样的索引模式时:{date:1,product:1}
按日期排序:-1
花费的时间是日期:1
所花费时间的两倍。再试几次。如果结果一致,请提出一个新问题,提供有关集合、db版本和explain结果的详细信息。好的,我检查过了,下一次也花了类似的时间:)谢谢!:)