如何使用mongoose schema仅保存日期部分。目前我的模型如下:
myDate: { type: Date}
即使我只传递"2016-02-27",它也会将日期保存为"2016-02-27T00:00:00.000Z"
。我正在使用:
dateOfBirth: { type: Object }
并且像这样节省:
dateOfBirth: {year: 1988, month: 0, day: 8}
这让我得到:
ability to search by year
, month
ability to make date object:
const dateOfBirth = new Date(
user.dateOfBirth.year,
user.dateOfBirth.month,
user.dateOfBirth.day
);
这种方法可以避免时区变化,因为日期对象将在设备环境中创建。
更新
P.S. 我没有写出利弊,因为我的答案是关于分别存储日期的替代方式,当使用此方法时应该是显而易见的。
在与下面评论中的SergiiStotskyi聊天后,我决定列出利弊以警告开发人员选择最佳解决方案。
请记住,这种方法有非常少的好处。
优点(我只找到两个):
缺点:
日期
一样:它存储小时、秒等等。与SQL不同,没有日期/时间的区别。只是显示的问题。原因是Mongo不支持这种类型。您可以创建具有年/月/日属性的对象,但是处理起来很麻烦。
2016-02-27
而不是2016-02-27T00:00:00.000Z
? - Anand S