Dizendo
Model.index(:field => -1)
, mais ou menos, apenas registra a existência do índice com Model
, ele não cria um índice. Você está procurando por create_indexes
:Então você gostaria de dizer:
Model.index(field: -1)
Model.create_indexes
Você também pode criá-los diretamente através do Moped chamando
create
nos indexes
da coleção
: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
foi renomeado para Mongoid::Clients
em versões mais recentes, então você pode precisar dizer: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)
Obrigado a js_ e mltsy por anotar essas mudanças.