2012-09-24 19 views
61

Próbuję znaleźć dokumentację, bezskutecznie, na temat tworzenia indeksów wieloskładnikowych w Mongoosejs. W szczególności mam dwa pola, które muszą być indeksowane i niepowtarzalne. Jaki jest przykład schematu mangusty, który indeksuje dwa pola razem?Tworzenie indeksów wielopozycyjnych w Mongoose/MongoDB

Odpowiedz

126

Wywołujesz metodę index na obiekcie Schema, aby to zrobić, jak pokazano here. Dla Twojego przypadku będzie to coś w rodzaju:

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

To załatwiło sprawę. Wielkie dzięki! – Dan

+2

To się nazywa indeks zliczeniowy w mongodb. Tworzy więc indeksy jako pole1 i pole1 + pole2. Zatem jest to pierwszy indeks według pola 1, a następnie wewnątrz pola 1 w odniesieniu do pola 2 –

+0

jakie jest znaczenie 1 po polu 1: i polu 2:? –

7

Definiowanie indeksów na poziomie schematu jest niezbędne podczas tworzenia indeksów złożonych.

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

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

+4

Jakie jest znaczenie 1 i -1? Nie mogłem znaleźć tego w dokumentacji, do której się odwoływałeś. Dzięki. – DFB

+2

Znalazłem odpowiedź na tej stronie: http://docs.mongodb.org/manual/core/indexes-introduction/ Dzięki! – DFB

Powiązane problemy