无法使用2.2.10 Node.js驱动程序创建MongoDb连接

时间:2016-10-16 11:22:17

标签: node.js mongodb typescript mongoose

尝试打开连接(使用mongodb本机驱动程序2.2.10和mongoose 4.6.3)。

获得例外:

must pass in valid bson parser

看起来这是connection.js55

发生同样的错误:

1. for `mongodb` client fails on `MongoClient.connect`.
2. for `mongoose` it fails on startup (before any code execution).

根据文档,我不需要将任何值传递给bson选项字段。

1 个答案:

答案 0 :(得分:0)

我得到了同样的错误。似乎从v2.2.0开始,当你没有关闭连接时,即使Promise中返回的值也是如此。

来自文档updateOne方法(专注于db.close()):

// Example of a simple updateOne operation using a Promise.

var MongoClient = require('mongodb').MongoClient,
  test = require('assert');
MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
  // Get the collection
  var col = db.collection('update_one_with_promise');
  col.updateOne({a:1}
    , {$set: {a:2}}
    , {upsert:true}).then(function(r) {
    test.equal(1, r.matchedCount);
    test.equal(1, r.upsertedCount);
    // Finish up test
    db.close();
  });
});

我不知道为什么对Promise传递db非常不舒服。 我回滚到v2.1.21