如何在猫鼬模式中引用另一个属性

时间:2019-09-02 09:13:23

标签: node.js mongodb mongoose mongoose-schema

如果我的架构中有一个属性依赖于另一个属性(如最小值),该如何在我的架构中对其进行定义?

我在架构中有一个endDate和actualEndDate属性,第二个属性始终大于或等于第一个,如何将其放入我的架构中

SET IDENTITY_INSERT [DataBaseName].[schema].[TableName] ON 
INSERT INTO [DataBaseName].[schema].[TableName] (idCol, column1, XMLColumn, column2) 
SELECT idCol, column1, XMLColumn, column2 FROM [LINKED-SERVER].[DataBaseName].[schema].[TableName]
SET IDENTITY_INSERT [DataBaseName].[schema].[TableName] OFF

2 个答案:

答案 0 :(得分:2)

您可以添加自己的自定义验证。

尝试一下:

endDate: {
    type: Date,
    required: true,
    // min: new Date()
    // default: Date.now
},
actualEndDate: {
    type: Date,
    validate: [
        function (value) {
            return this.endDate <= value;
        }
    ]
},

答案 1 :(得分:1)

在保存/更新任何文档之前,您可以添加预保存的挂钩,这些挂钩可以检查文档的有效性并抛出错误或根据逻辑更新某些值。

https://mongoosejs.com/docs/middleware.html#pre