我尝试在userSchema用户名更改时更新postSchema用户名
//This is the PostSchema
const mongoose = require("mongoose");
const PostSchema = new mongoose.Schema(
{
username: {
type: String,
required: true,
unique: false,
},
profileDp: {
type: String,
required: true,
},
})
//This is the user Schema
const UserSchema = new mongoose.Schema(
{
_id: {
type: String,
required: true,
},
username: {
type: String,
required: true,
unique: false,
},
profilePic: {
type: String,
required: true,
},
那么,我如何在postSchema中创建一个关系,以便每当userSchema用户名更改时,postSchema用户名也应该更改?
到目前为止,我已经看到$set,ref甚至populate()被推荐,但我仍然不确定如何做到这一点。
1条答案
按热度按时间ldioqlga1#
您可以在
UserSchema
上添加pre-hooks
,同时更新用户名,如下所示。检查上面的例子,每当您的用户名更新,它将自动更新后的文件有关
pre-hooks
的更多说明访问此链接https://mongoosejs.com/docs/middleware.html