gpt4 book ai didi

node.js - mongoose findById 不能使用正确的 ID

转载 作者:可可西里 更新时间:2023-11-01 10:41:42 25 4
gpt4 key购买 nike

我正在创建一个存储用户信息的数据库。之前系统运行良好,我对mongoose进行npm update后,系统就失效了,不知道什么原因。以下是我遇到的错误信息。

CastError: Cast to ObjectId failed for value "xxxxxxxxxxxxxxx" at path "_id" for model "User"

然后,我写了一些简单的测试代码来测试数据库是否连接成功。例如:

User.findOne({firstName: "David"}, function(err, user){console.log(user.lastName)});

上面的方法非常有效。

然后我直接从数据库中找到对应的Id并创建变量如下:

var testId = "abcde"

并尝试了以下代码:

User.findById(testId, function(err, user){console.log(user.firstName)});

然后它只输出错误信息。

我已经尝试过 mongoose.Types.ObjectId.isValid('abcde')(abcde 只是示例),它返回了 true。因此,我真的不知道为什么它不起作用...这是 Mongoose 的错误吗?

知道的请帮忙解答,万分感谢!

最佳答案

我刚刚解决了这个问题。

正如我提到的,在我更新 mongoose 后,findById 函数不起作用。在代码上苦苦挣扎了几天,今天早上醒来的时候,突然想到升级我的node.js。

成功了。

将 node.js 从 v4.x.x 升级到最新版本后,一切正常:)

这给了我一个教训,我不应该单独升级单个模块并注意兼容性问题。

关于node.js - mongoose findById 不能使用正确的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41501098/

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