【发布时间】:2022-01-21 03:51:54
【问题描述】:
考虑以下几点:
我有一个User 架构:
const UserSchema = new mongoose.Schema(
{
email: {
type: String,
required: true,
trim: true,
lowercase: true,
index: { unique: true },
validate: {
validator: emailValidator.validate,
message: props => `${props.value} is not a valid email address!`
}
},
password: {
type: String,
required: true,
trim: true,
index: { unique: true },
minlength: 7,
maxlength: 11
},
roles: [{ type: 'String' }],
isVerified: { type: Boolean, default: false },
passwordResetToken: String,
resetPasswordExpires: Date
},
{
timestamps: true
}
);
export default mongoose.models.User || mongoose.model('User', UserSchema)
我有一个Profile 架构:
const ProfileSchema = new Schema({
name: {
type: String,
},
email: {
type: Schema.Types.ObjectId, ref: 'User',
},
password: {
type: Schema.Types.ObjectId, ref: 'User',
},
interestedActivities: {
type: String,
},
memerSince: { type: Date, default: Date.now }
})
export default mongoose.models.Profile || mongoose.model('Profile', ProfileSchema)
以上内容是否会自动使用来自用户的email 和Password 填充ProfileSchema?
所以在我的route/api 例如/api/profile 例如,它会隐含地知道两者是链接的吗?
如果我这样做了:
从../../models/Profile导入配置文件
handler
.use(auth)
.get((req, res) => {
Profile.findOne(
{
email: req.body.email
},
});
export default handler
它应该返回在用户中创建的电子邮件?
提前致谢!
【问题讨论】: