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
}
});