Nodejs не может вызвать более одного экземпляра веб-приложения из-за MongoDB - PullRequest
0 голосов
/ 12 июня 2018

У меня запущено веб-приложение 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; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...