NodeJS – 获取Mongodb的属性在连接时不工作
我是NodeJS和ExpressJS的新手。 我正在按照这个教程http://cwbuecheler.com/web/tutorials/2013/node-express-mongo/来创build和连接mongodb和nodejs。 一切工作正常(数据库数据插入通过命令行,package.jsonconfiguration)除了数据库连接,它会引发undefined error
。
var monk = require('monk'); var db = monk('localhost:27017/deno');
我在控制台中检查这个console.log(db)
它显示index.js
'undefined'
我的app.js是:
var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); // New Code var mongo = require('mongodb'); var monk = require('monk'); var db = monk('localhost:27017/Fujitsu'); var routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); // uncomment after placing your favicon in /public //app.use(favicon(path.join(__dirname, 'public', 'favicon.ico'))); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); // Make our db accessible to our router app.use(function(req,res,next){ req.db = db; next(); }); app.use('/', routes); app.use('/users', users); // catch 404 and forward to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); // error handlers // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); module.exports = app;
routes / index.js是
var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res, next) { res.render('index', { title: 'Express' }); }); /************ Customized starts Here **********/ /* GET Userlist page. */ router.get('/userlist', function(req, res) { var db = req.db; console.log(db); var collection = db.get('usercollection'); collection.find({},{},function(e,docs){ res.render('userlist', { "userlist" : docs }); }); }); /******** Customized - Ends here ***********/ module.exports = router;
请任何人告诉我的解决scheme,因为现在我正在努力与此。
提前致谢。
- 使用passport-local进行身份validation后,无法使用来自客户端的会话
- 用Mongoskin在每个产品的字段描述中查找一个MongoDB文档
- 如何修复多行node-postgres插入 – 在$ 4或附近的语法错误
- 如果只有本地的Angular App将其称为控制器,则执行路由
- zsh:命令未find:即使在我已经在全球安装了快速和快速生成器之后仍然表示
- ExpressJS jQuery ajax Post不返回任何内容
- Expressjs POST错误:TypeError:无法读取未定义的属性“标题”
- 在Socket IO中找不到类“CI_Controller”
- 当我将数据保存到mongoDB时,如何获得_id值到我的代码中