如何在我的猫鼬模式中引用多个模式?

Posted

技术标签:

【中文标题】如何在我的猫鼬模式中引用多个模式?【英文标题】:How to refer multiple schema in my mongoose schema? 【发布时间】:2020-08-01 00:49:19 【问题描述】:

我正在创建一个网站,您可以在其中进行和上传测试。 所以有两种用户Company(上传测试)和Candidate(参加测试)。 现在,当我创建令牌时,如何同时引用模式(公司模式和候选人模式)?

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

let tokenSchema = new mongoose.Schema(
  userId:  type: ObjectId, ref: "<?>" 
);

module.exports = mongoose.model("Token", tokenSchema);

【问题讨论】:

【参考方案1】:

让我们坐下来,这是您导出候选人和公司架构的方式:

module.exports = mongoose.model("Candidate", candidateSchema)

module.exports = mongoose.model("Company", companySchema)

您的令牌架构应如下所示:

let tokenSchema = new mongoose.Schema(

candidateId:  type: ObjectId, ref: "Candidate" ,

comoanyId: type: ObjectId, ref: "Company" ,

);

【讨论】:

以上是关于如何在我的猫鼬模式中引用多个模式?的主要内容,如果未能解决你的问题,请参考以下文章

具有角色的参考数组的猫鼬模式

如何基于作为参数传递的动态模式的猫鼬模型?

如果用户角色(卖家与买家)有所不同,我该如何构建我的猫鼬模式?

如何在猫鼬模式中使用异步默认值?

用于续集模型的猫鼬模式

如何使用嵌套子文档制作数组的猫鼬模式