Я очень хорошо разбираюсь в NodeJs и AngularJs. После создания значительного приложения я пришел к выводу, что Мангуст не для меня. Я хочу использовать чистый MongoDb.Как использовать NodeJs без Mongoose
Я проделал очень хорошую работу по рефакторингу кода сервера. Я вытащил все свои функции из своих маршрутов и в контроллеры. В настоящее время, однако, мои контроллеры используют Mongoose, и они подключены к Mongo через схему.
Текущий код:
var express = require('express'),
errMsg = require('../../../utilities/errorMsg'),
MyMongooseSchema = require('./models/myMongooseModel');
module.exports = {
all: function (req, res) {
MyMongooseSchema.find({}).exec(function (err, results) {
if (err) {
....
});
}
res.send(results);
})
}
Опять же, я не хочу этого. Я хочу динамизм MongoDb. Я пробовал это безрезультатно.
db.js:
function MongoDbConnect(dbName){
var db = 'mongodb://localhost/' + dbName;
MongoClient.connect(db, function (err, db) {
if(err){
console.log('Error connecting to database')
} else {
return db; }
});}
exports.MongoDbConnect = MongoDbConnect;
контроллер: [который вызывается из соответствующего маршрутизатора]
var database = require('../../../config/db');
module.exports = {
all: function (req, res) {
var db = database.MongoDbConnect('myDbName');
db.collection('MyCollectionName').find({}, function (err, results) {
if (err) {
return res.status(400).send({
message: errMsg.getErrorMessage(err)
});
}
res.send(results);
})
}}
Очевидно, что это не работает.
Каким будет подходящий способ создания хорошо реорганизованного подключения к базе данных, к которому может обращаться любой контроллер, с любой базой данных, необходимой контроллеру?
спасибо.