Чтобы проверить, существует ли коллекция в MongoDB с помощью Mongoose, вы можете использовать следующие методы:
mongoose.connection.db.listCollections()— этот метод возвращает курсор с информацией обо всех коллекциях в базе данных. Затем вы можете перебирать курсор, чтобы проверить, существует ли нужная коллекция.
const mongoose = require('mongoose');
// Connect to MongoDB
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });
// Check if collection exists
mongoose.connection.db.listCollections({ name: 'mycollection' })
.next(function (err, collinfo) {
if (collinfo) {
console.log('Collection exists!');
} else {
console.log('Collection does not exist!');
}
});
mongoose.connection.db.collectionNames()– этот метод возвращает массив имен коллекций в базе данных. Затем вы можете проверить, существует ли в массиве нужное имя коллекции.
const mongoose = require('mongoose');
// Connect to MongoDB
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true });
// Check if collection exists
mongoose.connection.db.collectionNames(function (err, names) {
if (err) {
console.log(err);
} else {
const collectionNames = names.map((item) => item.name);
if (collectionNames.includes('mycollection')) {
console.log('Collection exists!');
} else {
console.log('Collection does not exist!');
}
}
});