我的Mongoose模式中有一个“日期”字段,我想将其转换为常规日期以进行显示。很明显,这样做的地方是在吸气剂中,以避免到处调用prettifyDate函数。这是行不通的,因为似乎猫鼬正在将我的getter后字符串并提供给Date构造函数:

...
, date: {type: Date, get: function() { return 'foo'; }}
...


在我的模式给我:

Cast to date failed for value "foo"


当我获取文档时。

是否可以取消强制转换为Date?有没有更好的方法我想念?

最佳答案

我一直在做完全相同的事情,并提出了以下解决方案:

, date: {type: Date}
, formatted_date: {type : String, get : prettifyDate}


然后在prettifyDate函数参考中:
    这个日期

这不太可能是最好的方法,但是它可以工作。切记使用.toISOString()转换日期以与函数中的原始ISO日期一起使用。

10-04 22:07
查看更多