Antworten:
Sie rufen die index
Methode für Ihr Schema
Objekt auf, um dies wie hier gezeigt zu tun . Für Ihren Fall wäre es so etwas wie:
mySchema.index({field1: 1, field2: 1}, {unique: true});
1
steigt auf, -1
würde absteigen.
index
.
1
und -1
gibt einen aufsteigenden oder einen absteigenden Indexschlüssel im Indexfeld an. Ich fand Dokumente http://mongodb.github.io/node-mongodb-native/2.1/tutorials/create-indexes/
Das Definieren von Indizes auf Schemaebene ist beim Erstellen zusammengesetzter Indizes erforderlich.
animalSchema.index({ name: 1, type: -1 });
Übrigens ist die akzeptierte Antwort falsch. Gemäß https://stackoverflow.com/a/52553550/129300 sollten Sie die Feldnamen in einfache Anführungszeichen setzen, dh:
mySchema.index({'field1': 1, 'field2': 1}, {unique: true});
Glücklicher Tag!
field1
und field2
sind gültige Bezeichner. field1.foo
ist zum Beispiel nicht.
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"
..
..
}
}
Ich habe mit Beispieldaten getestet, dass es wie erwartet perfekt funktioniert.