Estoy usando MongoDB 1.6.3, para almacenar una gran colección (300k + registros). Agregué un índice compuesto.MongoDB: demasiados datos para ordenar() sin error de índice
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"
}
]
Sin embargo, cuando trato de ejecutar este código:
db['collection_name']
.find({:community_id => 1})
.sort(['updated_at.t', -1])
.skip(@skip)
.limit(@limit)
que estoy recibiendo:
datosMongo :: OperationFailure (demasiado para la especie() con ningún índice Agregue un índice o especifique un límite más pequeño)
¿Qué estoy haciendo mal?
La columna de ordenación debe ser la última columna del índice. http://www.mongodb.org/display/DOCS/Indexing+Advice+and+FAQ#IndexingAdviceandFAQ-1.Thesortcolumnmustbethelastcolumnusedintheindex. –