node.js - 如何在 Nodejs MongoDb 中进行连接连接池

标签 node.js mongodb

我在我的 android 应用程序中使用 NodeJS 和 MongoDb 作为后端服务。我想知道如何池化连接,以便最大限度地减少服务器上的负载并进行快速操作以及如何关闭连接 执行操作后到数据库。

这是我到目前为止所做的:

const express = require('express');
const bodyParser = require('body-parser');
const env = require('dotenv').config();
const MongoClient = require('mongodb').MongoClient;

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:true}));

app.post('/add', (req,res) => {


  var data = {

    User_id: req.body.userId,
    Email:req.body.email,
    Name: req.body.name,
    Book_name: req.body.bookName,
  };

  MongoClient.connect(dburl, {useNewUrlParser:true} ,(err,client) => {

          if(err){

            console.log("Error".red, +err);
          }
          else{

            var collect = client.db('Mydb').collection('Books');

            collect.insertOne(data, (err,resp) =>{

                  if(err){

                    console.log("Error", +err);
                  }
                  else{

                    console.log("Successfully inserted");
                  }

                  client.close();
            });

        }

     });

 });

  app.listen(port,() => {

       console.log("App is running on:" +port);
  }); 

有人请让我知道上面的代码中还需要添加什么才能达到预期的结果。任何帮助将不胜感激。

谢谢

最佳答案

MongoClient 默认设置一个大小为 5 的连接池。您可以初始化连接并重用它。

let connection;
MongoClient.connect(dburl, {useNewUrlParser:true} ,(err,client) => {
  if(err){
    console.log("Error".red, +err);
  }
  connection = client;
  // maybe move your app.listen here to make sure server is started after connection is acquired or something equivalent
})

// elsewhere after connection is established:
connection.db('Mydb').collection('Books');

要增加/减少池大小,您可以传递带有所需数字的 poolSize 选项。

关于node.js - 如何在 Nodejs MongoDb 中进行连接连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56196242/

相关文章:

javascript - Express js 路由和 mysql 查询不起作用

node.js - 无法访问本地主机:8080 with docker on windows 10

node.js - 将元素插入嵌套数组 mongoose nodejs

mongodb - 如何使用 morphia 在 mongo db 中实现 Multi-Tenancy

mongodb - 使用 mongodb csharp 的索引提示

node.js - 另一条 route 未定义的快速 session

javascript - 有没有办法在禁用客户端推送的情况下在 Node.js 上使用 Parse 发送推送?

mongodb - 如何连接 MongoDB 中多个文档的数组?

Mongodb - 通过 ODBC 连接

node.js - Mongoose find 返回空数组(适用于其他集合)