我刚接触过巨无霸,但我真的很喜欢。在使用express.Router()并进行非常简单的db调用时:
router.get('/:id', function(req, res, next) {
db.accounts.find(req.params.id, function(err, results) {...});我得到了一个错误:
错误:参数0(条件)应该是类型对象,但它是值为2的字符串,在Args (C:\Users\JMichelson\WebstormProjects\Proximityv6\node_modules\args-js\Args.js:399:10) at Object.exports.forArgs (C:\Users\JMichelson\WebstormProjects\Proximityv6\node_modules\massive\lib\arg_types.js:7 7:10) .
这是通过简单的演员阵容解决的:
router.get('/:id', function(req, res, next) {
db.accounts.find(Number(req.params.id), function(err, results) {...});但是我发现这个转换要求很奇怪,因为JavaScript应该根据需要自动进行强制转换。
我做得对吗?
发布于 2016-07-11 19:43:59
我相信find需要一个数字,而params作为一个字符串出现,因此args解析器会感到困惑。你可以在这里使用int.parse,也可以做你正在做的事情。在这方面,Massive有点固执己见:如果需要,可以使用字符串键,但必须使用‘{id:“”Massive“}。
https://stackoverflow.com/questions/38293170
复制相似问题