Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
db.collectionNames不';无法在Node.js中工作_Node.js_Mongodb_Collections - Fatal编程技术网

db.collectionNames不';无法在Node.js中工作

db.collectionNames不';无法在Node.js中工作,node.js,mongodb,collections,Node.js,Mongodb,Collections,我想检查Node.js中是否存在集合。我使用db.collectionNames获取数据库中的名称列表,但什么也没发生。守则: connectDB(DBURL).then(function(db) { console.log('db connect ok'); db.collectionNames('test', function(err, collectionNames) { console.log('get collection na

我想检查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);
    });
connectDB(DBURL)
是一个promise对象,它可以完美地工作。输出:

app-0 try to connect db
app-0 db connect ok
您可以在
collectionNames
中看到函数没有任何输出。我不知道为什么

我可以通过
db.getCollectionNames
在Mongo shell中获取集合名称:

> db.getCollectionNames()
[ "system.indexes", "test" ]

您是否正在使用>2.0版本的驱动程序

如果是这样,您将需要使用-这是1.x更新中的更改之一

比如:

db.listCollections().toArray(function(err, collections){
    //collections = [{"name": "coll1"}, {"name": "coll2"}]
});

对谢谢我用的是最新的驱动程序。我在看,不敢相信它没有提到这个更新。在哪里可以阅读节点驱动器的最新文档?我的答案中的链接将带您进入1.0到2.0转换的变更日志。您所在的站点是正确的,但您正在查看1.4.9文档。看看同一站点上的2.0文档,例如: