猫鼬配方领域

时间:2014-04-30 16:15:28

标签: node.js mongoose

Mongoose是否可以在一个模型上创建一个公式字段,该模型从相关模型中获取数据,并在相关记录更改时自动更新。假设我有一个待办事项模型和一个用户模型。在todo上,我想有一个user_id和一个user_email字段。 user_email将获取相关用户的电子邮件字段。如果更改了用户记录,则会在待办事项上自动更新user_email字段以反映更改。这样,我可以使用我的客户端应用程序仅使用电子邮件地址查询待办事项。以下是我想到的模型:

module.exports = mongoose.model('Todo', {
    description     : String,
    User_id         : mongoose.Schema.Types.ObjectId,
    isCompleted     : Boolean,
    createdDate     : Date,
    User_email      : String
});

module.exports = mongoose.model('User', {
    name            : String,
    email           : String
});

1 个答案:

答案 0 :(得分:0)

是的,有可能!根据这个例子可以这样做。

User.pre('save', function(next){
    var nowDocument = this;
    User.findById( doc._id, function(err, beforeDocument){
        if(err) retrun next(err);
        // Here is to compare and modify*
        next();
    });
});

*到目前为止,数据已经过验证。