Dalle informazioni fornite, sembra che tu stia utilizzando il driver mongodb 2.0. Il metodo db.collectionNames è stato eliminato. Controlla la sezione "Oggetto Db" di questa pagina - https://github.com/mongodb/node-mongodb-native/blob/0642f18fd85037522acf2e7560148a8bc5429a8a/docs/content/tutorials/changes-from-1.0.md#L38
L'hanno sostituito con listCollections. Dovresti ottenere lo stesso effetto con:
mongoose.connection.db.listCollections().toArray(function(err, names) {
if (err) {
console.log(err);
}
else {
names.forEach(function(e,i,a) {
mongoose.connection.db.dropCollection(e.name);
console.log("--->>", e.name);
});
}
});