Node.js连接MongoDB 5次
我一直在寻找一种在mongo数据库上执行各种操作的方法,这取决于用户在我的网站上连接的路径。因此,在www.mysite.com/data上发布html将向mongo DB添加信息,在同一url上执行html get将从同一数据库获取数据。我设法解决了这个问题,但每次打开网站服务器时,我都会在mongo数据库中注册5个连接。为什么会这样,这是不是很糟糕 我的代码: 我在mongo.js中运行以下代码:Node.js连接MongoDB 5次,node.js,mongodb,connection,Node.js,Mongodb,Connection,我一直在寻找一种在mongo数据库上执行各种操作的方法,这取决于用户在我的网站上连接的路径。因此,在www.mysite.com/data上发布html将向mongo DB添加信息,在同一url上执行html get将从同一数据库获取数据。我设法解决了这个问题,但每次打开网站服务器时,我都会在mongo数据库中注册5个连接。为什么会这样,这是不是很糟糕 我的代码: 我在mongo.js中运行以下代码: var mongodb = require('mongodb'); module.expor
var mongodb = require('mongodb');
module.exports.init = function (callback) {
var server = new mongodb.Server("127.0.0.1", 27017, {});
new mongodb.Db('test', server, {w: 1}).open(function (error, client) {
//export the client and maybe some collections as a shortcut
module.exports.client = client;
module.exports.myCollection = new mongodb.Collection(client, 'myCollection');
callback(error);
});
};
我初始化所有正在运行的东西(app.js):
例如,这篇文章看起来像(仍然是app.js):
我很确定我的重定向没有按我希望的那样工作,但这是另一个问题
为什么每次启动服务器都会有五个连接?这五个连接是因为这是默认的池大小(5)。您可以调整它,如中所述-它还提到了默认值。可能重复的Hmm,记得读过它是某种默认值。对游泳池了解不多,那就好了;一台服务器为它的池创建了五个连接?是的,如果您愿意,您可以减少它,但是如果您更频繁地使用服务器,那么无论如何都需要更多的连接。
/express set-up/
var mongo = require('./mongo.js');
/.../
mongo.init(function (error) {
if (error)
throw error;
app.listen(3000, function(){
console.log("Express server listening on port %d in %s mode",3000,
app.settings.env);
});
});
app.post('/App', function(req, res) {
users = users.concat(req.body);
res.redirect('/App');
//Add user to MongoDB
mongo.myCollection.insert({name: req.body.name, car: req.body.car, website: req.body.website, phone: req.body.phone}, {safe:true}, function(err, objects) {
if (err)
console.warn(err.message);
});