Mongodb - 映射关系 - 类型Objectid

时间:2014-11-04 23:43:18

标签: node.js mongodb mongoose

我有一个猫鼬模型,它将成为User模型的子对象。它将是一对多关系(用户将拥有许多块)。对我来说,在这种情况下,嵌入不是答案。所以我尝试将user_id添加到我的Block模型,并将block_ids数组添加到我的User模型中。我的块看起来像这样:

var mongoose = require('mongoose');

module.exports = mongoose.model('Block',{
  name:String,
  status:String,
  type:String,
  user_id:String,
});

当我使用当前用户的ID保存新块时,它不会保存该属性。我认为这是因为我已经在模式中声明它是String类型而不是Objectid,但我不确定如何将它声明为用户模型的对象ID。

1 个答案:

答案 0 :(得分:2)

使用Schema.Types.ObjectId而不是String

var mongoose = require('mongoose');
var Schema=mongoose.Schema;
module.exports = mongoose.model('Block',{
  name:String,
  status:String,
  type:String,
  user_id:Schema.Types.ObjectId
});