Mongodb 是否建议为查询创建两个单独的索引,以便对一个字段进行筛选并对另一个字段进行排序?

Mongodb 是否建议为查询创建两个单独的索引,以便对一个字段进行筛选并对另一个字段进行排序?,mongodb,indexing,mongodb-indexes,Mongodb,Indexing,Mongodb Indexes,我有一个类似以下的查询 find( { a : { $gt: 3 } } ).sort( { b : -1 } ) 是否建议分别为字段a和b创建索引?否,使用索引查询会更快: db.items.ensureIndex({a:1, b:-1}); 您还可以确保您的查询使用index with命令。谢谢!使用Morphia时,如何为一个地理字段和另一个字段(计数器字段)定义复合索引?目前,我有一个@Indexed(value=IndexDirection.GEO2D)注释用于geo字段,另一个@

我有一个类似以下的查询

find( { a : { $gt: 3 } } ).sort( { b : -1 } )
是否建议分别为字段a和b创建索引?

否,使用索引查询会更快:

db.items.ensureIndex({a:1, b:-1});

您还可以确保您的查询使用index with命令。

谢谢!使用Morphia时,如何为一个地理字段和另一个字段(计数器字段)定义复合索引?目前,我有一个@Indexed(value=IndexDirection.GEO2D)注释用于geo字段,另一个@Indexed(value=IndexDirection.DESC)注释用于另一个字段?@tom:Create:
db.places.ensureIndex({location:“2d”,counter:-1})
并确保它与
explain
命令一起工作。