如何在Node.js中从Mongoose格式化date?
我正在尝试更改从Mongo数据库获取date的格式。 目前他们看起来像这样:
Fri Sep 16 2011 19:05:17 GMT+0900 (JST)
我试过对它们调用.toString('yyyy-MM-dd')
,但没有任何改变。 我不知道他们是Date
对象还是只是原始string。
我试过检查Mongoose手册和谷歌search,但还没有发现任何东西。
有任何想法吗?
你必须先创build一个Date对象:
var date = new Date(dateStr); // dateStr you get from mongodb var d = date.getDate(); var m = date.getMonth()+1; // ...
一个现代化的方法是使用节点和浏览器都可用的momentjs ,超级有用和简单易用。 对于目前的问题,我按照所有的文档要求在节点中解决了这个问题:
var moment = require('moment'); var fomatted_date = moment(photo.date_published).format('YYYY-DD-MM');
与photo.date_published
直接来自mongoose。
那么如何定义你的模式呢?
var someSchema = new Schema({ title: String, created: Date });
stdate被存储为你的mongoDB中的Date
对象。 因此,当您读回时,您将拥有一个适当的Date
对象,您可以在其中使用可用的方法。