Bri*_*ang 4 collections mongodb node.js
我想检查Node.js中是否存在集合.我使用db.collectionNames获取数据库中的名称列表但没有任何反应.代码:
connectDB(DBURL).then(function(db) {
console.log('db connect ok');
db.collectionNames('test', function(err, collectionNames) {
console.log('get collection names');
if(err) console.log(err);
else console.log(collectionNames);
});
}, function(err) {
console.log(err);
});
Run Code Online (Sandbox Code Playgroud)
这connectDB(DBURL)是一个承诺对象,它完美地运作.输出:
app-0 try to connect db
app-0 db connect ok
Run Code Online (Sandbox Code Playgroud)
你可以看到函数中没有任何输出collectionNames.我不知道为什么.
我可以通过以下方式获取Mongo shell中的集合名称db.getCollectionNames:
> db.getCollectionNames()
[ "system.indexes", "test" ]
Run Code Online (Sandbox Code Playgroud)
你使用> 2.0版本的驱动程序?
如果是这样,您将需要使用listCollections - 这是1.x更新中的更改之一
就像是:
db.listCollections().toArray(function(err, collections){
//collections = [{"name": "coll1"}, {"name": "coll2"}]
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3070 次 |
| 最近记录: |