我尝试在我的NodeJS应用中设置mongodb连接,但是在需要和尚的时候我无法运行...
我的代码:
...
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/app');
...
// Make our db accessible to our router
app.use(function(req,res,next){
req.db = db;
next();
});
app.use('/', routes);
在命令提示符下,在项目根文件夹中安装mongodb和monk,使用 npm install --save mongodb 和 npm install --save monk
但是当我尝试运行我的项目时,我得到了
C:\Users\asilva\Documents\RSRacingUFRGSsite>node app C:\Users\asilva\Documents\RSRacingUFRGSsite\node_modules\monk\lib\applyMiddlewares.js:24
monkInstance,
^ SyntaxError: Unexpected token ,
at exports.runInThisContext (vm.js:73:16)
at Module._compile (module.js:443:25)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (C:\Users\asilva\Documents\RSRacingUFRGSsite\node_modules\monk\lib\collection.js:1:86)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
我检查了applyMiddlewares.js,看到它没有错..:
module.exports = function applyMiddleware (middlewares) {
return function (monkInstance, collection) {
var chain = []
var middlewareAPI = {
monkInstance,
collection
}
chain = middlewares.map(function (middleware) {
return middleware(middlewareAPI)
})
return compose(chain)
}
}
答案 0 :(得分:1)
问题可能是您使用的节点版本不支持ES2015 Object property shorthand。
要解决此问题,请将Node升级到v4.8.4或更高版本,或者为monk库创建一个pull请求,以便更改分配:
choices_as_values
我建议升级到最新版本(编写本文时为v8.4.0),这样您就可以访问漂亮的异步/等待和保证功能,以及许多错误修复和修复程序。安全更新以来。