gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:18 26 4
gpt4 key购买 nike

我在我的 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com