MongoDB和Mongoose:$callback中的ES6语法问题

我正在使用MongoDB(3.2.10)作为数据库和Mongoose(1.4.X)库的Node.JS(6.6.0)应用程序。 下面的代码应该在MongoDB数据库上执行查询:

const JobStat = require('../models/job_stat') const co = require('co') let statService = { getRecentJobsStat () { return co(function* () { // Another async code let result = yield JobStat .$where(function () { let condition = true // I omit full condition since it does not matter here return condition }) .sort({ value: 1 }) .exec() return result }) } } module.exports = statService 

不幸的是,它不起作用,并产生这种例外:

 SyntaxError: missing ; before statement @:2:12 

当我改变里面的$callback函数中的variables定义从var(var条件= true),这个查询已经成功执行。 我使用6.6.0版本的Node.js,另一个ES6function对我来说工作正常。 所以问题是:这个错误的原因是什么? 问题是否存在于我的代码或MongoDB / Mongoose中? 谢谢你的帮助。

UPD:我在mongo shell中运行这个查询,得到了完全相同的结果:

在这里输入图像描述