你可以使用預先保存鉤:
const geoframeSchema = mongoose.Schema({
count: Number,
createdBy: String,
createdAt: Date,
polygons: [
{
points: [{ lat: Number, lng: Number }],
},
],
});
geoframeSchema.pre('save', function() {
this.createdAt = doc._id.getTimestamp();
});
你必須確保doc._id.getTimestamp()是從架構訪問或將其設置爲一個實例方法:
geoframeSchema.methods.getTimestamp = function() {
...
}
...然後調用它在你的預存鉤:
geoframeSchema.pre('save', function() {
this.createdAt = this.getTimestamp();
});
在這種情況下,你也可以使用模式Ø ptions反對設立時間戳,它會自動填充:
const geoframeSchema = mongoose.Schema({
count: Number,
createdBy: String,
polygons: [
{
points: [{ lat: Number, lng: Number }],
},
],
}, {
timestamps: {
createdAt: 'createdAt',
updatedAt: 'updatedAt'
}
});
您可以命名您的時間戳,像這樣:
createdAt: 'timestampName'
看看這裏:https://stackoverflow.com/questions/12669615/添加創建和更新的字段到貓鼬模式 –