首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MassiveJS奇异铸造误差

MassiveJS奇异铸造误差
EN

Stack Overflow用户
提问于 2016-07-10 14:51:53
回答 1查看 52关注 0票数 0

我刚接触过巨无霸,但我真的很喜欢。在使用express.Router()并进行非常简单的db调用时:

代码语言:javascript
复制
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) .

这是通过简单的演员阵容解决的:

代码语言:javascript
复制
router.get('/:id', function(req, res, next) {  
  db.accounts.find(Number(req.params.id), function(err, results) {...});

但是我发现这个转换要求很奇怪,因为JavaScript应该根据需要自动进行强制转换。

我做得对吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-11 19:43:59

我相信find需要一个数字,而params作为一个字符串出现,因此args解析器会感到困惑。你可以在这里使用int.parse,也可以做你正在做的事情。在这方面,Massive有点固执己见:如果需要,可以使用字符串键,但必须使用‘{id:“”Massive“}。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38293170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档