Mulighed 2 er nok den reneste. Forudsat at du har en Mongoose Connection objekt med navnet conn der er blevet åbnet ved hjælp af mongoose.createConnection , kan du få adgang til den oprindelige mongo Db objekt via conn.db . Derfra kan du ringe til collectionNames som skulle give det, du leder efter:
conn.db.collectionNames(function (err, names) {
// names contains an array of objects that contain the collection names
});
Du kan også videregive et samlingsnavn som en parameter til collectionNames for at filtrere resultaterne til lige det, du leder efter.
Mongoose 4.x-opdatering
I 2.x-versionen af den oprindelige MongoDB-driver, som Mongoose 4.x bruger, collectionNames er blevet erstattet af listCollections som accepterer et filter og returnerer en markør, så du ville gøre dette som:
mongoose.connection.db.listCollections({name: 'mycollectionname'})
.next(function(err, collinfo) {
if (collinfo) {
// The collection exists
}
});