У меня запущено веб-приложение Nodejs, приложение, основанное на запросе пользователя, выполнит вызов MongoDB, но в любой момент мы можем открыть только один экземпляр страницы и обработать, если мы сделаем другой запрос, произойдет сбой с ошибкой ниже:
Мы обнаружили проблему из-за подключения Mongodb. Наше приложение не может обработать более одного запроса монго.Если несколько пользователей запрашивают домашнюю страницу, мы видим эту ошибку.мы запускаем приложение с помощью команды: "nodejs bin / www". Мы чувствуем, что упускаем что-то очень простое при обработке запроса Mongo.Пожалуйста, предложите.Любые входные данные о том, как обрабатывать несколько запросов - с помощью вызовов процессов с узлом js с mongodB?
Не найдено 404 Ошибка: не найдена в c: \ app \ test \ app.js: 129: 13 в Layer.handle[as handle_request] (c: \ app \ test \ node_modules \ express \ lib \ router \ layer.js: 95: 5) в trim_prefix (c: \ app \ test \ node_modules \ express \ lib \ router \ index.js:312: 13) в c: \ app \ test \ node_modules \ express \ lib \ router \ index.js: 280: 7 в Function.process_params (c: \ app \ test \ node_modules \ express \ lib \ router \ index.js: 330: 12) в следующем (c: \ app \ test \ node_modules \ express \ lib \ router \ index.js: 271: 10) в form.parse (c: \ app \ test \ node_modules \ express-formidable \ lib\ middleware.js: 17: 7) на IncomingForm.(c: \ app \ test \ node_modules \ formidable \ lib \coming_form.js: 107: 9) в emitNone (events.js: 111: 20) в IncomingForm.emit (events.js: 208: 7)
bin / www (файл)
#!/usr/bin/env node
/**
* Module dependencies.
*/
var app = require('../app');
var config = require('../config');
var MongoClient = require('mongodb').MongoClient;
var debug = require('debug')('hornbill:server');
var http = require('http');
var assert = require('assert');
/**
* Get port from environment and store in Express.
*/
var port = normalizePort(process.env.PORT || '5007');
app.set('port', port);
/**
* Create HTTP server.
*/
var server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
MongoClient.connect(config.mongo_url, {
poolSize: 20
},function(err, db) {
assert.equal(null, err);
app.locals.mongo = db.db(config.mongo_db);
server.listen(port);
console.log("inside app.js",app.locals.mongo.listCollections());
//db.close();
//module.exports.mongo=db;
}
);
//server.listen(port);
server.on('error', onError);
server.on('listening', onListening);
server.timeout = 1000 * 60 * 10;
routs / home.js:
var express = require('express');
var router = express.Router();
/* GET home page. */
router.get('/', function(req, res, next) {
console.log(process.cwd());
const db = req.app.locals.mongo;
db.listCollections({}).toArray(function(err, collInfos) {
try {
res.render('home',{collection:collInfos});
}
catch(err){
res.end();
console.log(err)}
});
});
module.exports = router;