0
我试图在我们的mongo集合上创建适当的索引,但我不清楚索引,查询和排序如何相互作用。查询和排序,我的mongo索引应该是什么样子
如果我有以下几点:
db.stuff.find({"userId":"10"}).sort({"created":1});
我是否应该在用户id一个复合索引,创建。或者,我应该在userId上有两个单独的索引,另一个是在创建?
我试图在我们的mongo集合上创建适当的索引,但我不清楚索引,查询和排序如何相互作用。查询和排序,我的mongo索引应该是什么样子
如果我有以下几点:
db.stuff.find({"userId":"10"}).sort({"created":1});
我是否应该在用户id一个复合索引,创建。或者,我应该在userId上有两个单独的索引,另一个是在创建?
MongoDB cannot use index intersection支持查询条件和排序需要单独索引的查询。
所以,你会想使用compound index,与userId
第一和created
秒,这样所有的文档导致索引中的一个连续范围:
db.stuff.createIndex({userId: 1, created: 1})