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 を使用することで、非常に便利で使いやすいです。現在の問題については、すべてのドキュメント要件を満たした後、ノードでこのように解決しました:
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
オブジェクトが作成され、使用可能なメソッドを操作できるようになります。