gpt4 book ai didi

javascript - MassiveJS 奇怪的转换错误

转载 作者:行者123 更新时间:2023-12-03 06:34:32 26 4
gpt4 key购买 nike

我是 Massive 的新手,但我真的很喜欢它。使用 express.Router() 并进行非常简单的数据库调用时:

router.get('/:id', function(req, res, next) {  
db.accounts.find(req.params.id, function(err, results) {...});

我收到一个错误:

Error: Argument 0 (conditions) should be type Object, but it was type string with value 2. at 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 应该根据需要自动强制转换。

我这样做正确吗?

最佳答案

我相信 find 需要一个数字,而参数作为字符串输入,因此 args 解析器会感到困惑。您可以在此处使用 int.parse 或执行您正在执行的操作。 Massive 在这方面有点固执己见:如果需要,您可以使用字符串键,但必须使用 `{id:"my string"} 进行具体说明。

关于javascript - MassiveJS 奇怪的转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38293170/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com