Kev*_*Lee 3 mongoose mongodb mongoose-schema
我正在尝试在in和的子字段中添加createdAt和updatedAt时间戳otpgenerate: {}verify:{}
我知道使用会将和时间戳{ timestamps: true }添加到整个架构中。createdAtupdatedAt
const userSchema = new mongoose.Schema({
email: { type: String, unique: true },
name: { type: String },
mobileNumber: {
isVerified: {type: Boolean, default: false},
otp: {
generate: {
attempts: {type: Number, default: 0},
total: {type: Number, default: 0},
createdAt: {type: Date},
updatedAt: {type: Date}
},
verify: {
attempts: {type: Number, default: 0},
total: {type: Number, default: 0},
createdAt: {type: Date},
updatedAt: {type: Date}
}
}
}
}, { timestamps: true });
Run Code Online (Sandbox Code Playgroud)
将单独的时间戳添加到子字段的正确解决方案是什么?{timestamps: true}通过添加到子字段来执行相同的操作是否正确?
generate: {
attempts: {type: Number, default: 0},
total: {type: Number, default: 0},
{timestamps: true}
},
verify: {
attempts: {type: Number, default: 0},
total: {type: Number, default: 0},
{timestamps: true}
}
Run Code Online (Sandbox Code Playgroud)
您必须为子字段定义一个单独的架构,然后将其用作子字段的类型。
const otpSchema = new mongoose.Schema({
attempts: { type: Number, default: 0 },
total: { type: Number, default: 0 }
}, {
_id: false, // omit _id fields for subfields
timestamps: true // timestamps options for subfields
});
const userSchema = new mongoose.Schema({
email: { type: String, unique: true },
name: { type: String },
mobileNumber: {
isVerified: { type: Boolean, default: false },
otp: {
generate: otpSchema, // use the defined schema
verify: otpSchema
}
}
}, { timestamps: true });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3798 次 |
| 最近记录: |