Я недавно обнаружил шаблон проектирования для создания вещи модульной в Express, и мне было интересно, смогу ли я сделать это с моим экземпляром MongoDB (и что более важно, ДОЛЖЕН ли я это делать?) Я предполагаю, что мой код будетвероятно, будет выглядеть примерно так:
//db.js
const MongoClient = require('mongodb').MongoClient;
const client = new MongoClient(url);
module.export= client.connect(function(err, client) {
assert.equal(null, err);
return client;
});
//index.js
const express = require('express');
const client = require('./db.js');
const app = express();
const db = client.db(dbName);
app.get('/', (req,res) => {
//use the db variable to perform database operations
});
Прежде всего, это сработает?Могу ли я относиться к «клиенту» как к объекту и экспортировать его следующим образом?И если это сработало, и я мог бы потребовать 'client' в качестве модуля, смогу ли я по-прежнему выполнять client.close () в моем файле index.js?
РЕДАКТИРОВАТЬ: я только что понял, что мой client.connectвероятно, должен вернуть 'client', если я хочу установить db в client.db (dbname)