Я новичок в программировании и немного пытаюсь поэкспериментировать, все еще борясь с лучшим способом доступа к mongoDB из моего кода. Я видел несколько сообщений здесь о переполнении стека, но они более или менее все требуют, чтобы код, необходимый для загрузки mongo, включался в каждый.js файл. Я хотел бы избежать этого, чтобы сохранить код для доступа к моей БД только в одном файле.
Обратите внимание, что я использую модуль "mongo-factory".
Будет ли код ниже приемлемым?
Я создал то, что я бы назвал "производителем" объектов базы данных, database.js
var mongoFactory = require('mongo-factory');
function Database(close,callback) {
mongoFactory.getConnection(<connection string>).then(function (database) {
callback(database.db(<db name>));
if(close) database.close();
}).catch(function (err) {
console.error(err);
});
}
module.exports = Database;
Затем, когда я хочу получить доступ к базе данных из любого из моих файлов, я мог бы сделать это ниже, избегая вводить параметры, специфичные для db, и требования к mongo-factory здесь:
var Database = require('./database');
var callback_actOnDatabase = function (db) {
db.collection..... do something here
};
var d = new Database(false, callback_actOnDatabase);
вместо mongo-factoy используйте модуль mongoose для подключения базы данных, декларации модели, и мы снова не используем параметры db, пожалуйста, перейдите по ссылке https://www.npmjs.com/package/mongoose