【发布时间】:2011-05-22 21:27:35
【问题描述】:
我正在使用 MongoDB 1.6.3 来存储一个大集合(30 万多条记录)。我添加了一个复合索引。
db['collection_name'].getIndexes()
[
{
"name" : "_id_",
"ns" : "db_name.event_logs",
"key" : {
"_id" : 1
}
},
{
"key" : {
"updated_at.t" : -1,
"community_id" : 1
},
"ns" : "db_name.event_logs",
"background" : true,
"name" : "updated_at.t_-1_community_id_1"
}
]
但是,当我尝试运行此代码时:
db['collection_name']
.find({:community_id => 1})
.sort(['updated_at.t', -1])
.skip(@skip)
.limit(@limit)
我得到:
Mongo::OperationFailure(数据过多 对于没有索引的 sort()。添加一个 索引或指定更小的限制)
我做错了什么?
【问题讨论】:
标签: mongodb database-design mongodb-indexes mongodb-ruby nosql