gpt4 book ai didi

javascript - Mongoose findById() 回调仅返回无意义的数据

转载 作者:行者123 更新时间:2023-11-28 20:19:11 27 4
gpt4 key购买 nike

我正在运行 Mongoose,我有一个工作连接,并且 findById()有时会返回结果:

情况1:无意义查询

models.Repo.findById("somefakeid", function(err, result){console.log('woo')})

结果:打印“woo”

案例2:实际查询

但是,回调不会针对实际的、非废话的数据查询运行:

models.Repo.findById("5229ea37cb1d6bd4b153f213", function(err, result){console.log('woo')})

结果:永远不会运行回调。

为什么实际查询从不运行回调?

最佳答案

@aarondufour 关于情况 1 的说法是正确的。Mongoose 将尝试将该字符串转换为 ID,这将在需要向 mongodb 发出数据库命令之前抛出异常,因此回调将被调用,并显示错误:数据库是否已连接。

对于情况 2,几乎可以肯定 mongoose 正在对命令进行排队,因为您还没有与 mongodb 的有效连接。您可能认为您这样做,但“我的回调从不运行”症状是由 Mongoose 排队命令 100 次中的 99 次引起的,因此在追逐奇怪的边缘情况之前首先假设情况是这样的情况来调查问题。

关于javascript - Mongoose findById() 回调仅返回无意义的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18664410/

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