【发布时间】:2015-01-15 08:21:05
【问题描述】:
我有一个关于 mongodb 索引的问题。 假设我们有两个模型:
class Book
include Mongoid::Document
field :user_id
field :borrower_id
belongs_to :user
end
class User
include Mongoid::Document
has_many :books
end
问题
如果我能找到一些书:
current_user.books.roder_by(:created_at.desc)
我应该为 Book 创建哪个索引
index({user_id: 1, created_at: -1})
或
index({user_id: 1})
index({created_at: -1)
为什么?
【问题讨论】:
-
复合索引,因为 MongoDB 不能使用索引 intersectionijng 进行排序和查找,因此后两个索引将不适合回答查询。当然,无论如何索引交叉都不是最佳的
标签: mongodb mongoid mongodb-indexes