mercoledì 1 maggio 2013

MongoDB Index


Visualizzare gli indici presenti sul db

use test;
db.system.indexes.find();

Visualizzare gli indici presenti sulla colection

db.<collection_name>.getIndexes()

Crea l' indice univoco eliminando le chiavi duplicate

db.accounts.ensureIndex( { username: 1 }, { unique: true, dropDups: true )

Creare un indice su elementi che possono anche non esserci nell'elenco dei documenti

db.addresses.ensureIndex( { "size": 1 }, { unique: true, sparse: true } )

Index Size

db.<collection_name>.indexSize();

Forzare l'uso di uno specifico indice

db.users.find().hint( { age: 1 } )

Elimina l'uso degli indici

db.people.find().hint({$natural:1})
Note:
  • l'indice _id per default è sempre univoco anche se non specificato sulla getIndexes()
  • L'indice di default viene creato di tipo BTREE
  • In caso di utilizzo di query su indice sparse le query default non ritornano i documenti che non posseggono quel field.