Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 如何使用equals为mongoDB创建高效索引,并按日期ASC和DESC排序_Database_Mongodb_Nosql - Fatal编程技术网

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结果的详细信息。好的,我检查过了,下一次也花了类似的时间:)谢谢!:)