Diciendo Model.index(:field => -1)
, más o menos, solo registra la existencia del índice con Model
, en realidad no crea un índice. Estás buscando create_indexes
:
Así que querrás decir:
Model.index(field: -1)
Model.create_indexes
También puede crearlos directamente a través de Moped llamando a create
en los indexes
de la colección
:
Mongoid::Sessions.default[:models].indexes.create(field: -1)
Model.collection.indexes.create(field: 1)
# or in newer versions:
Model.collection.indexes.create_one(field: 1)
Mongoid::Sessions
ha sido renombrado a Mongoid::Clients
en versiones más nuevas, por lo que es posible que deba decir:
Mongoid::Clients.default[:models].indexes.create(field: 1)
Model.collection.indexes.create(field: 1)
# or in even newer versions:
Model.collection.indexes.create_one(field: 1)
Gracias a js_ y mltsy por tomar nota de estos cambios.