在mongodb转换问题中获取有效对象ID的错误

时间:2017-01-10 11:06:03

标签: mongodb mongoose

我的代码工作正常,但在获取新代码后我收到此错误,但我可以看到我的ID有效对象ID

  

施放到ObjectId的值失败" 5848e9ecaec0f31372816a26"在路上   " _id"对于模型"用户"

如何解决这个问题?

2 个答案:

答案 0 :(得分: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) });

答案 1 :(得分:0)

this mongoose issue中记录了此错误的原因。 解决方法是降级到mongoose版本< = 4.7.2或使用节点版本> = 6.