Ответ 1
сначала необходимо создать объект Date:
var date = new Date(dateStr); // dateStr you get from mongodb
var d = date.getDate();
var m = date.getMonth()+1;
// ...
Я пытаюсь изменить формат дат, которые я получаю из своей базы данных Mongo. В настоящее время они выглядят так:
Fri Sep 16 2011 19:05:17 GMT+0900 (JST)
Я пробовал называть .toString('yyyy-MM-dd')
на них, но ничего не меняется. Я не знаю, являются ли они объектами Date
или просто сырыми строками.
Я пробовал проверять руководство Mongoose и гуглингу, но ничего не нашел.
Любые идеи?
сначала необходимо создать объект Date:
var date = new Date(dateStr); // dateStr you get from mongodb
var d = date.getDate();
var m = date.getMonth()+1;
// ...
Современный способ сделать это - использовать momentjs, которые можно использовать в node и в браузере, супер полезные и простые использовать. Для текущей проблемы я решил это сделать в node после выполнения всех требований к документам:
var moment = require('moment');
var fomatted_date = moment(photo.date_published).format('YYYY-DD-MM');
с photo.date_published
непосредственно из мангуста.
как определить вашу схему как:
var someSchema = new Schema({
title: String,
created: Date
});
s.t. дата хранится как объект Date
в вашем mongoDB. В результате, когда вы его прочитаете, у вас будет правильный Date
объект, с которым вы сможете работать с доступными методами.