TypeError:Object#<mongoclient>没有方法'db'解决方案vs Documentation

时间:2015-10-19 14:47:31

标签: node.js mongodb express

在浏览mongodb教程时,我遇到了这个配置的问题:

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

var mongoClient = new MongoClient(new server('localhost', '27017', {'native_parser': true}))
var db = mongoClient.db('test');
  

TypeError:Object#没有方法'db'

最终,我能够使用mongodb服务器解决它

var server      = require('mongodb').Server,
    Db          = require('mongodb').Db;

var db =new Db('test', new server('localhost', '27017', {'native_parser': true}));
db.open(function(err, res){
    app.listen(8080);
    console.dir('app started on 8080');
});

但是,the documentation says“不应使用服务器,请使用MongoClient.connect。” enter image description here

基于此,我想知道何时适合使用服务器?

1 个答案:

答案 0 :(得分:0)

下面是一个关于如何使用它来讨论2.0中的弃用以及回调而不是承诺的设置和使用的示例:

var mongoDB =  require('mongodb');

var theDB = null;
mongoDB
    .MongoClient
    .connect('mongodb://localhost:27017/test', null, function(err, db) {
        if (err) {
            console.error(err);
        } else {
            theDB = db;
            app.listen(8080);
            console.dir('app started on 8080');
        }
    });