MongoDBでDate/ISODateの各コンポーネント(年・月・日・時・分・秒)を取得する方法
MongoDBでDate(ISODate)の各コンポーネント(年・月・日・時・分・秒など)を取得するには、まずコレクションに日付を含むドキュメントを作成します。ここでは、実際のコード例を通して手順をわかりやすく解説します。
1. 日付を含むドキュメントの作成
まず、insert()メソッドを使って、現在日時を持つドキュメントをコレクションに挿入します。
> db.componentOfDateDemo.insert({"ShippingDate":new Date()});
WriteResult({ "nInserted" : 1 })2. find()メソッドでドキュメントを表示
find()メソッドを使って、コレクション内のすべてのドキュメントを表示してみましょう。
> db.componentOfDateDemo.find().pretty()
このクエリを実行すると、次のような出力が得られます。
{
"_id" : ObjectId("5c9e9d57d628fa4220163b68"),
"ShippingDate" : ISODate("2019-03-29T22:33:59.776Z")
}3. findOne()でドキュメントを取得
次に、findOne()メソッドを使って1件のドキュメントを取得します。
> var result=db.componentOfDateDemo.findOne();
変数resultの内容を表示するには、以下のクエリを実行します。
> result
実行結果は以下の通りです。
{
"_id" : ObjectId("5c9e9d57d628fa4220163b68"),
"ShippingDate" : ISODate("2019-03-29T22:33:59.776Z")
}4. 日付フィールドのみを取り出す
ドキュメントから日付だけを取り出したい場合は、次のクエリを使用します。
> result.ShippingDate;
出力は以下のようになります。
ISODate("2019-03-29T22:33:59.776Z")5. 日付で利用できるメソッドを確認する
Dateオブジェクトで利用可能なすべてのメソッドを確認するには、変数名に続けてピリオドを入力し、Tabキーを2回押します。
> result.ShippingDate.(ここでTabキーを2回押す)
すると、以下のように使用可能なメソッドの一覧が画面に表示されます。

6. 各コンポーネントを個別に取得する
表示されたメソッドを使って、「ShippingDate」フィールドから年・月・日・時・分・秒をそれぞれ取得できます。
> result.ShippingDate.getFullYear() 2019 > result.ShippingDate.getSeconds(); 59 > result.ShippingDate.getMinutes(); 3 > result.ShippingDate.getHours(); 4 > result.ShippingDate.getDate(); 30 > result.ShippingDate.getMonth(); 2
各メソッドの意味は以下の通りです。
- getFullYear():年を取得(例:2019)
- getSeconds():秒を取得(例:59)
- getMinutes():分を取得(例:3)
- getHours():時を取得(例:4)
- getDate():日を取得(例:30)
- getMonth():月を取得(0始まりのため、2は「3月」を表します)
このように、MongoDBのシェルではJavaScriptのDateオブジェクトのメソッドをそのまま利用できるため、日付の各コンポーネントを簡単に取り出すことができます。なお、取得される値はサーバーのタイムゾーン設定に依存する点に注意してください。
-
MongoDBでDate/ISODateの各コンポーネント(年・月・日・時・分・秒)を取得する方法
MongoDBでDate(ISODate)の各コンポーネント(年・月・日・時・分・秒など)を取得するには、まずコレクションに日付を含むドキュメントを作成します。ここでは、実際のコード例を通して手順をわかりやすく解説します。1. 日付を含むドキュメントの作成まず、insert()メソッドを使って、現在日時を持つドキュメントをコレクションに挿入します。> db.componentOfDateDemo.insert({"ShippingDate":new Date()}); WriteResult({ "nInserted" : 1 })2. find(
-
MongoDBで日付形式を変更する方法
```html MongoDBシェルでは、文字列として扱われている日付の形式を自由に変換できます。本記事では、split()メソッドとカスタム変数を使って、日付フォーマットを変換する手順を具体例とともに解説します。 変換前の日付データ 今回は、次のような「日-月-年(DD-MM-YYYY)」形式の日付を例にします。 01-10-2019 日付形式を変換する手順 この日付を「年-月-日(YYYY-MM-DD)」形式に変更します。まず、日付文字列をカスタム変数に格納し、split()メソッドで分割してから、文字列として組み立て直します。 区切り文字には正規表現 /-|\// を使用しているため