我希望貓鼬將createdAt欄位保存為 Date 物件而不是 Double。請幫忙。
這是我的架構
const allSchema = new mongoose.Schema({ any: {} }, {
safe: false,
strict: false,
versionKey: false,
bufferCommands: false,
validateBeforeSave: false,
timestamps: { createdAt: 'createdAt', updatedAt: 'updated_at' },
});
這就是我使用它的方式。我正在設定createdAt使用 javascript Date 物件。但它被保存為 Double。我需要將其保存為 Date 以便能夠使用這些檔案上的 TTL 索引在 X 秒后使它們過期。
const con = mongoose.createConnection(uri, opts);
const model = con.model('allSchema', allSchema, collectionName, true);
model.then(async (m) => {
// here
fields.createdAt = Date.now();
// check if we have fields as objects need to be stringify before insert
Object.keys(fields).forEach((key) => {
const val = fields[key] || '';
if (typeof val === 'object') {
fields[key] = JSON.stringify(val).toString();
}
});
return m.collection.insertOne(fields);
});

先感謝您
uj5u.com熱心網友回復:
Date.now()- 回傳一個數字。如果您需要存盤像 BSON Date 物件這樣的日期,請new Date(Date.now())改用。
uj5u.com熱心網友回復:
而是在時間戳使用中使用created_at和updated_at :
toJSON: { virtuals: true }, timestamps: true
這將自動添加created_at和updated_at欄位。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/465228.html
