2017-01-11 31 views
1

这里是我的架构:猫鼬CastError:投射到的ObjectId失败值在路径 “_id”

let mongoose = require('mongoose'); 
let schema = new mongoose.Schema({ 
    type: String, 
    value: String, 
    attributes:[mongoose.Schema.Types.Mixed], 
    created_at: Date, 
    updated_at: Date 
}) 

然后我创建{类型: 'USER_ID',值:1}一个新的集合, 和然后我得到了新的数据与查询:

{type: 'user_id', value: '1'} 

它是好的,这里是结果:

"_id" : ObjectId("5874c5dbed927207df177d3b"), 
"type" : "phone", 
"value" : "13811785500", 
"updated_at" : ISODate("2017-01-10T11:30:19.266Z"), 
"created_at" : ISODate("2017-01-10T11:30:19.266Z"), 
"attributes" : [], 

然后,I q uery与collection`s的ObjectId保存集合:

models.findBydId("5874c5dbed927207df177d3b") 

它抛出错误:

CastError: Cast to ObjectId failed for value "5875976f8a03b2229c544c50" at path "_id" for model "vertex" 

有谁能够告诉我什么`错了吗? 谢谢。

回答

0

你应该试试这个 - >

models.find({"_id": ObjectId("5874c5dbed927207df177d3b")}); 
+0

我试过了,但它did't work.still抛出保存错误。 –

+0

好吧,我删除了node_modules文件夹,并再次安装npm,然后事情顺利。 –

+1

应该有猫鼬的问题,版本是4.7.4 –

相关问题