我需要检查某个数据库上是否存在集合,如果不存在则创建它。我知道
db.createCollection(collName, {strict:true}, function(error, collection))
在创建之前检查集合 collName
的存在并设置 error
对象。但我需要一个独立的函数来检查。
最佳答案
collectionNames
native 驱动程序的 Db
对象的方法接受一个可选的集合名称过滤器作为第一个参数,让您检查集合的存在:
db.collectionNames(collName, function(err, names) {
console.log('Exists: ', names.length > 0);
});
在 2.x 版本的 MongoDB 原生驱动中,collectionNames
已被 listCollections
取代它接受一个过滤器并返回一个游标,所以你可以这样做:
db.listCollections({name: collName})
.next(function(err, collinfo) {
if (collinfo) {
// The collection exists
}
});
https://stackoverflow.com/questions/21023982/