A opção 2 é provavelmente a mais limpa. Supondo que você tenha uma
Connection do Mongoose objeto chamado conn que foi aberto usando mongoose.createConnection , você pode acessar o mongo nativo Db objeto via conn.db . De lá, você pode chamar collectionNames que deve fornecer o que você está procurando:conn.db.collectionNames(function (err, names) {
// names contains an array of objects that contain the collection names
});
Você também pode passar um nome de coleção como um parâmetro para
collectionNames para filtrar os resultados apenas para o que você está procurando. Atualização do Mongoose 4.x
Na versão 2.x do driver nativo do MongoDB que o Mongoose 4.x usa,
collectionNames foi substituído por listCollections que aceita um filtro e retorna um cursor, então você faria isso como:mongoose.connection.db.listCollections({name: 'mycollectionname'})
.next(function(err, collinfo) {
if (collinfo) {
// The collection exists
}
});