尝试打开连接(使用mongodb
本机驱动程序2.2.10和mongoose
4.6.3)。
获得例外:
must pass in valid bson parser
看起来这是connection.js行55
。
发生同样的错误:
1. for `mongodb` client fails on `MongoClient.connect`.
2. for `mongoose` it fails on startup (before any code execution).
根据文档,我不需要将任何值传递给bson
选项字段。
答案 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