MongoDB缺少Node

时间:2015-07-30 01:16:57

标签: javascript node.js mongodb

我是Mongo的新手,似乎在解决一些基本的工作方面遇到了问题。

带注释的代码如下。缺点是db.getCollectionNames未定义,db.foo.find()以及db.foos.find() 两者炸弹,即使代码中列出了foo集合实际上确实有效。

我的mongo安装是否缺少某些功能或什么?

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/mongotest', function(err, db){
    try {
        db.collections(function(e, cols) {
            cols.forEach(function(col) {
                console.log(col.collectionName); //WORKS just fine
            });
        });
        console.log(typeof db.getCollectionNames); //undefined

        //db.foos.find(); //[TypeError: Cannot call method 'find' of undefined]
        //db.foo.find(); //[TypeError: Cannot call method 'find' of undefined]
    } catch (ex) {
        console.log(ex);
    } finally {
        setTimeout(function(){ db.close(); }, 2000);
    }
});

1 个答案:

答案 0 :(得分:0)

看起来您可能正在查看Mongo shell文档或旧版本的node.js本机驱动程序API。

在当前的2.x version驱动程序中,getCollectionNameslistCollections替换。

关于db.foo.find()语法,据我所知,本机驱动程序从未支持过这种语法。相反,那将是:

db.collection('foo').find()