我正在尝试通过为所有之前缺少时间戳的行添加时间戳来迁移我的数据库。我已经使用_id计算出了createdAt时间戳,但是我无法设置时间戳。我在这里做错了什么?有人可以帮忙吗?
let Question = db.model('Question');
let items = await Question.findWithDeleted();
let processedIds = items.map((q) => q._id);
processedIds.forEach(function (id) {
const timestamp = id.getTimestamp();
// const date = new Date(parseInt(timestamp, 16) * 1000);
// echo(timestamp)
Question.update({ "_id": id }, { "$set": { createdAt: timestamp } }, (h) => {
console.log(h);
});
});
这里是模型:
const Question = new Schema({ "type": { type: String, trim: true, enum: Object.values(questionTypes), required: '问题类型必填' }, "text": { type: String, required: true }, "desc": NotRequiredStringSchema, "options": [{ "id": ObjectId, "name": NotRequiredStringSchema, "helperText": NotRequiredStringSchema, "icon_key": NotRequiredStringSchema, "icon_url": NotRequiredStringSchema, "icon_svg": NotRequiredStringSchema }], "placeHolder": NotRequiredStringSchema, "buttonPosition": NotRequiredStringSchema, "buttonText": NotRequiredStringSchema, "buttonHoverText": NotRequiredStringSchema, "helperText": NotRequiredStringSchema, "max": Number, "min": Number, "default": Mixed, "icon_key": NotRequiredStringSchema, "icon_url": NotRequiredStringSchema, "icon_svg": NotRequiredStringSchema, "showTick": { type: Boolean, required: false, default: false }, "lang": { required: true, type: Map, of: { type: Map, of: String } } }, { timestamps: true });