2012-09-24 17 views
61

Sto cercando di trovare documentazione, inutilmente, su come creare indici multi-campo in Mongoosejs. In particolare, ho due campi che devono essere indicizzati e unici. Che cos'è un esempio di schema di mangusta che indicizza due campi insieme?Creazione di indici multifield in Mongoose/MongoDB

risposta

126

Si chiama il metodo index sull'oggetto Schema per farlo come mostrato here. Per il vostro caso sarebbe qualcosa di simile:

mySchema.index({field1: 1, field2: 1}, {unique: true}); 
+0

Che ha fatto il trucco. Grazie molto! – Dan

+2

Questo è chiamato l'indice Compount in mongodb. Quindi crea indici come campo1 e campo1 + campo2. Quindi è il primo indice in base al campo1 e quindi all'interno del campo1 rispetto al campo 2 –

+0

qual è il significato del 1 dopo il campo1: e il campo2:? –

7

Definizione indici a livello di schema è necessario per la creazione di indici composti.

animalSchema.index({ name: 1, type: -1 }); 

Riferimento: http://mongoosejs.com/docs/guide.html#indexes

+4

Qual è il significato di 1 e -1? Non ho trovato questo nella documentazione a cui si fa riferimento. Grazie. – DFB

+2

Ho trovato la risposta su questa pagina: http://docs.mongodb.org/manual/core/indexes-introduction/ Grazie! – DFB

Problemi correlati