MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Dynamicznie twórz indeks za pomocą mongoid

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.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Do jakiego poziomu MongoDB blokuje zapisy? (lub:co to znaczy za połączenie

  2. TypBłąd w metodzie statycznej modelu mangusty

  3. node.js mongodb jak połączyć się z zestawem replik serwerów mongo

  4. Ustaw limit czasu Mongo w wiosennym rozruchu

  5. jak uniknąć $pchania wartości null w ramach agregacji mongo