javascript - express router.get()函数与mongoose连用错误
问题描述
下列代码中被注释部分存在错误,如果将两端注释符号/**/去掉就会出现render渲染错误。var express = require(’express’);const mongoose = require(’mongoose’);const UserModel=mongoose.model(’UserModel’);var router = express.Router();const ObjectId = mongoose.Schema.Types.ObjectId;const connection = mongoose.connect(’mongodb://localhost/likeread’).connection;connection.on(’error’,(err)=>{console.log(err); }) .on(’open’,(res)=>{console.log(’success!’); });/* GET users listing. */router.get(’/’, function(req, res, next) { /*var user_model = new UserModel({username:’xiao’,email:’email@.com’}); user_model.save((err,res)=>{if(err) console.log(err); }); connection.disconnect((err,res)=>{if(err) console.log(err); });*/ res.render(’user.pug’);});module.exports = router;错误
at EventEmitter.render (D:nodelikereadnode_modulesexpresslibapplication.js:580:17) at ServerResponse.render (D:nodelikereadnode_modulesexpresslibresponse.js:966:7) at D:nodelikereadapp.js:60:7 at Layer.handle_error (D:nodelikereadnode_modulesexpresslibrouterlayer.js:71:5) at trim_prefix (D:nodelikereadnode_modulesexpresslibrouterindex.js:315:13) at D:nodelikereadnode_modulesexpresslibrouterindex.js:284:7 at Function.process_params (D:nodelikereadnode_modulesexpresslibrouterindex.js:335:12) at next (D:nodelikereadnode_modulesexpresslibrouterindex.js:275:10) at Layer.handle_error (D:nodelikereadnode_modulesexpresslibrouterlayer.js:67:12) at trim_prefix (D:nodelikereadnode_modulesexpresslibrouterindex.js:315:13) at D:nodelikereadnode_modulesexpresslibrouterindex.js:284:7 at Function.process_params (D:nodelikereadnode_modulesexpresslibrouterindex.js:335:12) at Immediate.next (D:nodelikereadnode_modulesexpresslibrouterindex.js:275:10) at Immediate.<anonymous> (D:nodelikereadnode_modulesexpresslibrouterindex.js:635:15) at runCallback (timers.js:668:20) at tryOnImmediate (timers.js:639:5)
问题解答
回答1:connection.disconnect((err,res)=>{ if(err)console.log(err);});*/ res.render(’user.pug’);
你这是什么鬼? res.render(’user.pug’);放到函数外面?
回答2:render和disconnect应该放到save完成的回调函数内部执行
相关文章:
1. python3.x - python多进程,不能在同一窗口吗2. 老师,flex-shrink: 1; 按视频操作,不会自动缩放3. javascript - chart.js如何修改某个指定bar的颜色4. javascript - 在 vue里面用import引入js文件,结果为undefined5. java - 为什么此私有静态变量能被访问呢?6. javascript - js输入框限定字数问题7. PHP中的$this代表当前的类还是方法?8. 分布式 - 通过JAVA代码是否能够判断MongoDB集群的某个表设置了分片?9. mysql优化 - mysql 分页查询优化。10. css3 - Firefox 字号相对IE、Chrome更大,如何在CSS中统一?

网公网安备