Dicendo Model.index(:field => -1)
, più o meno, registra semplicemente l'esistenza dell'indice con Model
, in realtà non crea un indice. Stai cercando create_indexes
:
Quindi vorresti dire:
Model.index(field: -1)
Model.create_indexes
Puoi anche crearli direttamente tramite Moped chiamando create
sugli indexes
della collezione
:
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
è stato rinominato in Mongoid::Clients
nelle versioni più recenti, quindi potresti dover dire:
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)
Grazie a js_ e mltsy per aver notato questi cambiamenti.