Mówiąc Model.index(:field => -1)
mniej więcej po prostu rejestruje istnienie indeksu za pomocą Model
, w rzeczywistości nie tworzy indeksu. Szukasz create_indexes
:
Więc chciałbyś powiedzieć:
Model.index(field: -1)
Model.create_indexes
Możesz je również utworzyć bezpośrednio za pomocą Mopeda, wywołując create
na indexes
kolekcji
:
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
został przemianowany na Mongoid::Clients
w nowszych wersjach, więc być może będziesz musiał powiedzieć:
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)
Podziękowania dla js_ i mltsy za odnotowanie tych zmian.