MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Utilizzo dell'indice composto MongoDB

In MongoDB , è possibile utilizzare il prefisso di indice per interrogare il database. Non puoi usare nient'altro. Se la tua query non contiene il prefisso chiave, l'indice non verrà utilizzato .

Supponendo che il tuo indice proposto {'key1':1,'key2':1} :

Query che utilizzeranno index:

  • db.some.find({key1 : {$gt : 100}}) - usa il prefisso
  • db.some.find({key1 : {$gt : 100}, key2 : {$lt : 30}}) - utilizza l'indice completo
  • db.some.find({key3 : 'test'}).sort({key1 : 1}) - usa il prefisso per l'ordinamento (corrispondenza della direzione)

Query che NON utilizzeranno index:

  • db.some.find({key2 : {$gt : 100}}) - l'ordine dell'indice è importante - key2 non è un prefisso
  • db.some.find({key3 : 'test'}).sort({key1 : -1}) - la direzione dell'indice è importante per gli indici a più colonne
  • db.some.find({key3 : 'test'}).sort({key2 : 1}) - non è un prefisso