如何将猫鼬值存储为日期?

Ant*_*ony 2 javascript mongoose mongodb node.js

每当我在Mongoose中保存日期时,它都会以字符串形式结束。

    let newDate = new Date().toISOString();

    let thing = await Thing.findOne({});

    things.details.expirationDate = newDate;

    await thing.save();
Run Code Online (Sandbox Code Playgroud)

我可以确认在数据库中将其识别为字符串而不是日期对象。

如何将此值保存在日期对象上?thing.details是混合模式类型。

ade*_*neo 5

该方法.toISOString()以格式从给定日期创建一个字符串

2016-10-05T14:48:00.000
Run Code Online (Sandbox Code Playgroud)

然后将该字符串存储在数据库中,而不是对象中

要存储日期对象,您只需

let newDate = new Date();
Run Code Online (Sandbox Code Playgroud)

Moongose应该在javascripts Date 对象和ISODateMongoDB通常使用的对象之间进行类型转换。

  • 这不会发生在我身上。new Date() 存储为字符串。在我的模型中,它看起来像:`date : { type : Date, required : true, index: true }` (3认同)