Mongodb – 映射关系 – typesObjectid

我有一个mongoose模型,将成为我的User模型的子对象。 这将是一个一对多的关系(用户将有很多块)。 对我而言,在这种情况下,embedded不是答案。 所以我尝试添加一个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保存一个新块时,它不保存该属性。 我认为这是因为我已经在架构中声明它是Stringtypes而不是Objectid,但是我不确定如何将它声明为用户模型的对象ID。

使用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 });