正确定义模型

时间:2019-02-16 17:56:59

标签: mongodb mongoose

因此我在项目中定义了不同类型的配置文件架构:

  • mentor_profile
  • partner_admin_profile
  • district_admin_profile

我想将它们作为引用存储在这样定义的用户模式中的单个键中...我不想将它们全部做成单独的键,因为如果需要填充它们,我觉得我会做不必要的逻辑如果只用一个键定义它们,就可以避免。

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

// Create Schema
const UserSchema = new Schema({
  name: {
    type: String,
    required: true,
  },
profile:{
type: Schema.Types.ObjectId,
    ref: "partner_admin_profile", <--- Is it possible to store profiles to this dynamically?

}
  date: {
    type: Date,
    default: Date.now,
  },
});

module.exports = User = mongoose.model("users", UserSchema);

1 个答案:

答案 0 :(得分:1)

是的,请使用refpath,然后为refpath动态赋值 像这样。 .........

profile : 
{ 
category: String, 
profile_id: { type: String, refPath: 'profile.category'}
}

......... 在类别中,您必须通过patner_admin_profile之类的类别。