【问题标题】:Getting error in mongodb cast issue for valid object id在有效对象 ID 的 mongodb 转换问题中出现错误
【发布时间】:2017-05-24 20:28:55
【问题描述】:

我的代码运行良好,但在使用新代码后出现此错误,但我可以看到我的 id 是有效的 Object Id

对于路径中的值“5848e9ecaec0f31372816a26”,转换为 ObjectId 失败 模型“用户”的“_id”

如何解决这个问题?

【问题讨论】:

  • 你的问题不够清楚。您是否尝试过在 SO 中搜索此错误?也许你会找到你的解决方案。
  • 我找不到任何地方然后我在这里添加了
  • @AshuKashyap 你能添加一些代码来告诉我们问题发生在哪里吗?
  • 我在几个小时后遇到了同样的问题。
  • mongoose@4.7.6 降级到mongoose@4.6.6 后,错误消失了。

标签: mongodb mongoose


【解决方案1】:

您必须将数据转换为 mongodb 对象 ID。 如果您使用的是猫鼬,您实际上可以在下面执行这些操作。

const mongoose = require('mongoose');
const ObjectId = mongoose.Types.ObjectId;

[your_mongodb_model/collection].query({ _id: ObjectId(id) });

或者简单地说,你可以做到这些,

[your_mongodb_model].query({ _id: mongoose.Types.ObjectId(id) });

【讨论】:

    【解决方案2】:

    this mongoose issue 中记录了此错误的原因。 一种解决方法是降级到 mongoose 版本 =6。

    【讨论】:

    • 我已经降级为 "mongoose": "^4.6.5" ,现在可以正常工作了
    猜你喜欢
    • 2017-07-22
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2022-12-17
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    相关资源
    最近更新 更多