正确的连接方式(一个池)node-mongodb-native
问题描述:
对于MongoDB,建议总是重复使用同一个数据库连接,并且有一个连接池来支持一些并发。正确的连接方式(一个池)node-mongodb-native
在node-mongodb-native
1.x
你可以配置数据库和服务器对象,创建像这样的池子,
var server = new Server(
config.host,
config.port,
{
auto_reconnect : true,
poolSize : 5 // <= here is the pool
}
);
var db = new Db(
config.database,
server
);
db.open(function(err, db) {
// ...
}
在2.0
他们不赞成一切,除了MongoClient
连接:
MongoClient.connect(URI, callback);
我在哪里添加池选项?我现在是否自动拥有泳池?
随着2.1
他们走了一步,利用发电机提示:https://mongodb.github.io/node-mongodb-native/2.1/reference/ecmascript6/connecting/
这是有效利用了再次的每一个动作一个单独的连接?是否使用过时的池?
答
MongoClient.connect
有一个可选的参数options
用server
场,可以让你设置的连接池的大小:
const options = {
server: {
poolSize: 10
}
};
MongoClient.connect(url, options, callback);
如果不指定,默认poolSize
是5 server
选项记录在here。