刚接触 node 准备用来做内部的web 工具 按照大部分教程 在连接 mongodb 的时候 都是 类似 mongodb.open(function (err, db) { if (err) { return callback(err); } db.collection('’, function (err, collection) { if (err) { mongodb.close(); return callback(err); } collection.findOne( db.close() }); });
先open 在 collection 最后 再 close 用的时候发现有问题 一次处理多个插入的时候 容易报错 候来看mongo 官方的 已经不是这样做了
var MongoClient = require(‘mongodb’).MongoClient , format = require(‘util’).format;
MongoClient.connect('mongodb://127.0.0.1:27017/test’, function(err, db) { if(err) throw err;
var collection = db.collection('test_insert');
collection.insert({a:2}, function(err, docs) {
collection.count(function(err, count) {
console.log(format("count = %s", count));
});
// Locate all the entries using find
collection.find().toArray(function(err, results) {
console.dir(results);
// Let's close the db
db.close();
});
});
}) 这个是官方的 我在connect 回调 里面 拿到 db 后 放在了全局里面 再也没有 close 过 就好了 不知道大家遇到过没有