Mongoose不会返回自定义ID

时间:2014-02-02 14:22:36

标签: node.js mongodb mongoose

我有一个集合,其中包含mongo中的一系列问题。

questions:[
{ 
  "_id" : 1,
  "question" : "Some question",
  "type" : "type"
}]

我已经定义了这样的架构:

var schema = mongoose.Schema({
  question: String
, type: String
})

var Model = mongoose.model('question', schema)

并在查询之后:

new Model.find({}, function(err,records) {
  console.log(records[0]._id)
  res.render('question/index', {title: 'question', question: records})
})

我在控制台上获得undefinednull(如果ID为0)。

1 个答案:

答案 0 :(得分:7)

当您的_id值不是ObjectID时,您需要在架构中定义它。我还建议使用对象定义type字段以避免潜在的问题,因为该关键字在模式定义中具有特殊含义。

var schema = mongoose.Schema({
  _id: Number,
  question: String,
  type: {type: String}
});