javascript - 多个 node-mongodb-native 连接

标签 javascript node.js mongodb node-mongodb-native

当我运行这段 Node.js 代码时:

var mongodb = require('mongodb'),
  MongoClient = mongodb.MongoClient;
MongoClient.connect('mongodb://localhost:27017/mydb', function(error, db) {
  if (error) {
    throw (error);
  }
  console.log('Connected!');
});

mongo 日志显示打开了 5 个连接:

sudo mongod
mongod --help for help and startup options
2014-11-04T21:03:23.107-0700 [initandlisten] MongoDB starting : pid=27572 port=27017 dbpath=/data/db 64-bit host=mylaptop
2014-11-04T21:03:23.107-0700 [initandlisten] db version v2.6.2
2014-11-04T21:03:23.107-0700 [initandlisten] git version: nogitversion
2014-11-04T21:03:23.107-0700 [initandlisten] build info: Darwin minimountain.local 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
2014-11-04T21:03:23.107-0700 [initandlisten] allocator: tcmalloc
2014-11-04T21:03:23.107-0700 [initandlisten] options: {}
2014-11-04T21:03:23.110-0700 [initandlisten] journal dir=/data/db/journal
2014-11-04T21:03:23.110-0700 [initandlisten] recover : no journal files present, no recovery needed
2014-11-04T21:03:23.136-0700 [initandlisten] waiting for connections on port 27017
2014-11-04T21:03:28.315-0700 [initandlisten] connection accepted from 127.0.0.1:61163 #1 (1 connection now open)
2014-11-04T21:03:28.323-0700 [conn1] end connection 127.0.0.1:61163 (0 connections now open)
2014-11-04T21:03:28.326-0700 [initandlisten] connection accepted from 127.0.0.1:61164 #2 (1 connection now open)
2014-11-04T21:03:28.326-0700 [initandlisten] connection accepted from 127.0.0.1:61165 #3 (2 connections now open)
2014-11-04T21:03:28.327-0700 [initandlisten] connection accepted from 127.0.0.1:61166 #4 (3 connections now open)
2014-11-04T21:03:28.328-0700 [initandlisten] connection accepted from 127.0.0.1:61167 #5 (4 connections now open)
2014-11-04T21:03:28.328-0700 [initandlisten] connection accepted from 127.0.0.1:61168 #6 (5 connections now open)

这看起来对吗?

最佳答案

当然。 MongoClient 使用 Node native 驱动程序中的连接池选项。这实际上是一个 Server Object连接数默认为5。

您可以像这样覆盖设置:

var async = require('async'),
    mongo = require('mongo'),
    MongoClient = mongo.MongoClient;


MongoClient.connect('mongodb://localhost/test',{ server: { poolSize: 1  }},function(err,db) {


});

因此在服务器选项中设置“poolSize”指定池中使用的连接数。不过,最好坚持使用默认值或更高值。

关于javascript - 多个 node-mongodb-native 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26749565/

相关文章:

javascript - 在 Javascript 中返回过程时会发生什么?

javascript - Node.JS:出现错误:[nodemon] 内部监视失败:监视 ENOSPC

javascript - 如何在 WordPress 中通过 javascript 访问 mongoDB 数据库?

javascript - 如何在 vue.js 2 上获取响应 ajax?

javascript - 查找固定键值对

node.js - 微软图 API : Get new access token from refresh token in graph without redirect url

node.js - 具有 sequelize 事务而不是事务的函数

MongoDB list集合过滤器

javascript - MongoDB 索引 : String vs Int

javascript - 如何在悬停空 div 时更改不同的 div 背景图像?