Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 如何在没有猫鼬的情况下使用NodeJs_Mongodb - Fatal编程技术网

Mongodb 如何在没有猫鼬的情况下使用NodeJs

Mongodb 如何在没有猫鼬的情况下使用NodeJs,mongodb,Mongodb,我越来越擅长NodeJs和AngularJs。在构建了一个相当大的应用程序之后,我得出结论,Mongoose不适合我。我想使用纯MongoDb 我在重构服务器代码方面做得相当不错。我把所有的功能从我的路线中拉出来,放到控制器中。然而,目前我的控制器正在使用Mongoose,它们通过模式连接到Mongo 当前代码: var express = require('express'), errMsg = require('../../../utilities/errorMsg'), M

我越来越擅长NodeJs和AngularJs。在构建了一个相当大的应用程序之后,我得出结论,Mongoose不适合我。我想使用纯MongoDb

我在重构服务器代码方面做得相当不错。我把所有的功能从我的路线中拉出来,放到控制器中。然而,目前我的控制器正在使用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);
    })
}}
显然,这是行不通的

创建重构良好的数据库连接的适当方法是什么?任何控制器都可以调用该连接,而控制器需要什么样的数据库

多谢各位

大家好,非常感谢你们的帮助

    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 || [])
    })