MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Index mit Mongoid dynamisch erstellen

Sagen Sie Model.index(:field => -1) , registriert mehr oder weniger nur die Existenz des Index mit Model , erstellt es nicht wirklich einen Index. Sie suchen nach create_indexes :

Sie würden also sagen wollen:

Model.index(field: -1)
Model.create_indexes

Sie können sie auch direkt über Moped erstellen, indem Sie create in den Indizes der Sammlung :

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 wurde in Mongoid::Clients umbenannt in neueren Versionen müssen Sie möglicherweise Folgendes sagen:

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)

Danke an js_ und mltsy für die Kenntnisnahme dieser Änderungen.