사용자가 내 웹 사이트에서 연결하는 경로에 따라 mongo 데이터베이스에서 다양한 작업을 수행 할 수있는 방법을 찾고있었습니다. 그래서 www.mysite.com/data에 html-post를하면 mongo DB에 정보가 추가되고 동일한 URL에서 html-get을하면 같은 데이터베이스에서 데이터를 얻을 수 있습니다. 나는 그것을 해결할 수 있었지만 매번 웹 사이트에서 내 서버를 켜기 위해 mongo 데이터베이스에서 5 개의 연결을 등록했습니다. 왜 이래서 나쁜거야?Node.js가 MongoDB에 5 번 연결
내 코드 :
내가 mongo.js에서이 코드를들이받은 해요 :
이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) 초기화 :
/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.js).
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);
});
내 리디렉션이 제대로 작동하지 않는지 확실히 알고 싶습니다.하지만 다른 문제입니다.
왜 서버를 시작할 때마다 5가 연결되는지 Anny 제안?
[MongoDB : 단일 db 핸들러에 대한 5 개의 열린 연결] 가능한 복제본 (http://stackoverflow.com/questions/14593814/mongodb-5-open-connections-for-a-single-db-handler) – WiredPrairie