如何在mongoose js模型中添加额外的属性,而在其他模型中引用它(Mongoose js关系)

时间:2015-05-21 13:53:11

标签: mongodb express mongoose

我是Mongoose js的新手,也是NODE JS的新手。 在我的应用程序中,有两个模型如下

测试用例架构

var TestCaseSchema = new Schema({
    description: String,
    expected: String,
    actual: String,
    result: String,
    createdAt: {type:Date},
    updatedAt: {type:Date, default: Date.now()},
});

测试计划架构如下

var TestPlanSchema = new Schema({
    name: {type: String, required: true},
    createdAt: Date,
    updatedAt: {type: Date, default: Date.now()},
    createdBy: {type: Schema.Types.ObjectId, ref:'User'},
    testCases: [{type: Schema.Types.ObjectId, ref:'TestCase'}],
    result: String,
});

如您所见,测试用例架构由测试计划架构

引用
  

testCases:[{type:Schema.Types.ObjectId,ref:'TestCase'}]

问题: 是否有一种简单的方法可以将测试用例结果存储在测试计划中。 (我不想将结果存储在测试用例模型中,因为一个测试用例可能存在于多个测试用例中,这可能导致错误的数据)

任何想法/指针

非常感谢提前

1 个答案:

答案 0 :(得分:3)

那么:

var TestPlanSchema = new Schema({
    name: {type: String, required: true},
    createdAt: Date,
    updatedAt: {type: Date, default: Date.now()},
    createdBy: {type: Schema.Types.ObjectId, ref:'User'},
    testCases: [
        {
            testCase: { type: Schema.Types.ObjectId, ref: 'TestCase'},
            result: String
        }
    ],
    result: String,
});

您现在可以将其他信息保存到每个 TestCase ,作为 TestPlan 的一部分。