mongoose CastError:对于路径“_id”

时间:2017-01-11 12:40:53

标签: node.js mongoose

这是我的架构:

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

然后我用{type:'user_id',value: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" : [], 

然后,我用集合'ObjectId:

查询存储集合
models.findBydId("5874c5dbed927207df177d3b")

它抛出错误:

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

任何人都可以告诉我出了什么问题吗? 感谢。

1 个答案:

答案 0 :(得分:0)

你应该试试这个 - >

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