Mongodb 如何在没有猫鼬的情况下使用NodeJs
我越来越擅长NodeJs和AngularJs。在构建了一个相当大的应用程序之后,我得出结论,Mongoose不适合我。我想使用纯MongoDb 我在重构服务器代码方面做得相当不错。我把所有的功能从我的路线中拉出来,放到控制器中。然而,目前我的控制器正在使用Mongoose,它们通过模式连接到Mongo 当前代码:Mongodb 如何在没有猫鼬的情况下使用NodeJs,mongodb,Mongodb,我越来越擅长NodeJs和AngularJs。在构建了一个相当大的应用程序之后,我得出结论,Mongoose不适合我。我想使用纯MongoDb 我在重构服务器代码方面做得相当不错。我把所有的功能从我的路线中拉出来,放到控制器中。然而,目前我的控制器正在使用Mongoose,它们通过模式连接到Mongo 当前代码: var express = require('express'), errMsg = require('../../../utilities/errorMsg'), M
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);
})
}}
显然,这是行不通的
创建重构良好的数据库连接的适当方法是什么?任何控制器都可以调用该连接,而控制器需要什么样的数据库
多谢各位 大家好,非常感谢你们的帮助强>
var mongoskin = require('mongoskin');
var db = mongoskin.db('mongodb://localhost:27017/myDatabase?auto_reconnect', {safe:true});
db.collection('Menu').find({}).toArray(function(error, menu){
if (error) return next(error);
res.send(menu || [])
})