表达 MongoDB 连接池
MongoDBの定義
源头
var express = require("express");
var app = express();
const MongoClient = require('mongodb').MongoClient;
const testRouter = require('./routers/test');
MongoClient.connect('mongodb://db', { minPoolSize: 20, maxPoolSize: 20 }, async (error, client) => {
if (error) {
console.log('error :', error);
} else {
// req.app.locals.dbでアクセスできるように設定
app.locals.db = client.db('test_db');
// add Router
app.use('/test', testRouter);
// start express server
var server = app.listen(3000, function(){
console.log("Node.js is listening to PORT:" + server.address().port);
});
}
})
var express = require('express')
var router = express.Router()
router.get('/', async (req, res) => {
// connection poolを使いまわし
const result = await res.app.locals.db.collection('user').find().toArray();
res.send(result.map(row => row.name).join(','));
})
module.exports = router
确认启动
Connectionをクローズしていないけど問題ないか確認
信息
当node进程终止时,即使没有调用close()函数,似乎也会自动释放
※我认为这没问题,因为官方也没有调用close()。
当node进程终止时,即使没有调用close()函数,似乎也会自动释放
※我认为这没问题,因为官方也没有调用close()。