2017-12-18 21 views
0

Ich habe versucht, die Indizes, die bereits über MongoDB erstellt werden manuell zu finden (Ich habe 2d Sphäre Indizes für zwei Felder über Mongobooster erstellt und erstellen eines über Schema, indem Sie es definieren). Nun, wenn ich diese Abfrage in mongodbooster laufenWie bekomme ich die definierten Indizes von Mongoose?

db.collectionname.getIndexes(); 

Es führt mich die drei Dokumente mit name.key und welche Indizes i verwendet haben. Ich möchte diese gleiche Operation in Mungo durchführen, ich kann eine gleichwertige Abfrage für dasselbe nicht finden. Ich habe versucht, diese

const indexes = OrderSchema.indexes(); 
console.log('index:', indexes); 

Aber es gibt mir nur einen Index, die ich in Schema definiert haben, dass ich auch brauchen Sie zwei weitere Felder _ID, die 2d-Kugel-Index enthält, wie kann ich das auch bekommen. Was hier versucht wird, ist, wenn 2d Sphere-Indizes bereits erstellt sind, erstellen Sie keinen Index, sonst erstellen Sie einen Index, den ich hier versuche zu erreichen. Jede Hilfe ist willkommen Danke

+1

siehe diesen Link http://mongoosejs.com/docs/3.1.x/docs/api.html#collection_Collection-getIndexes – Sivabalan

Antwort

1

Ja, Sie können es nicht mit einem Schema tun. Sie müssen das Modell zuerst erstellen, und dann können Sie etwas tun:

Order.collection.getIndexes({full: true}).then(indexes => { 
    console.log("indexes:", indexes); 
    // ... 
}).catch(console.error); 
Verwandte Themen