web-dev-qa-db-fra.com

Création d'index multi-champs dans Mongoose / MongoDB

J'essaie de trouver de la documentation, en vain, sur la façon de créer des index multi-champs dans Mongoosejs. En particulier, j'ai deux champs qui doivent être indexés et uniques. Qu'est-ce qu'un exemple de schéma mangouste qui indexe deux champs ensemble?

81
Dan

Vous appelez la méthode index sur votre objet Schema pour le faire comme indiqué ici . Pour votre cas, ce serait quelque chose comme:

mySchema.index({field1: 1, field2: 1}, {unique: true});
169
JohnnyHK

La définition d’index au niveau du schéma est nécessaire lors de la création d’index composés.

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

Référence: http://mongoosejs.com/docs/guide.html#indexes

9
Krumb
    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"
   ..
   ..

  }
}

J'ai testé avec des exemples de données, il fonctionnait parfaitement comme prévu.

0
Rajeev Rathor