Próbuję znaleźć dokumentację, bezskutecznie, na temat tworzenia indeksów wielopolowych w Mongoosejs. W szczególności mam dwa pola, które muszą być indeksowane i unikalne. Jaki jest przykładowy schemat mangusty, który indeksuje razem dwa pola?
93
1
wznosi się,-1
będzie zstępował.index
.1
i-1
określa rosnący lub malejący klucz indeksu w polu indeksu. Znalazłem dokumenty http://mongodb.github.io/node-mongodb-native/2.1/tutorials/create-indexes/Definiowanie indeksów na poziomie schematu jest konieczne przy tworzeniu indeksów złożonych.
animalSchema.index({ name: 1, type: -1 });
Źródła: http://mongoosejs.com/docs/guide.html#indexes
źródło
Nawiasem mówiąc, przyjęta odpowiedź jest błędna, ponieważ na https://stackoverflow.com/a/52553550/129300 należy zawijać nazwy pól w pojedyncze cudzysłowy, czyli:
mySchema.index({'field1': 1, 'field2': 1}, {unique: true});
Szczęśliwy dzień!
źródło
field1
ifield2
są prawidłowymi identyfikatorami.field1.foo
nie jest na przykład.Following command can be used to create compound index for nested json: db.ACCOUNT_collection.createIndex({"account.id":1,"account.customerId":1},{unique:1}) Mongo json structure is like : {"_id":"648738" "account": { "id": "123", "customerId": 7879, "name": "test" .. .. } }
Przetestowałem na przykładowych danych, że działa idealnie zgodnie z oczekiwaniami.
źródło