Phương án 2 có lẽ là sạch nhất. Giả sử bạn có Connection
Mongoose đối tượng có tên conn
đã được mở bằng mongoose.createConnection
, bạn có thể truy cập mongo gốc Db
đối tượng qua conn.db
. Từ đó, bạn có thể gọi collectionNames
sẽ cung cấp những gì bạn đang tìm kiếm:
conn.db.collectionNames(function (err, names) {
// names contains an array of objects that contain the collection names
});
Bạn cũng có thể chuyển tên bộ sưu tập làm tham số cho collectionNames
để lọc kết quả theo đúng những gì bạn đang tìm kiếm.
Bản cập nhật Mongoose 4.x
Trong phiên bản 2.x của trình điều khiển gốc MongoDB mà Mongoose 4.x sử dụng, collectionNames
đã được thay thế bằng listCollections
chấp nhận một bộ lọc và trả về một con trỏ, vì vậy bạn sẽ thực hiện việc này như sau:
mongoose.connection.db.listCollections({name: 'mycollectionname'})
.next(function(err, collinfo) {
if (collinfo) {
// The collection exists
}
});