MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

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回押す)

すると、以下のように使用可能なメソッドの一覧が画面に表示されます。

MongoDBでDate/ISODateの各コンポーネント(年・月・日・時・分・秒)を取得する方法

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オブジェクトのメソッドをそのまま利用できるため、日付の各コンポーネントを簡単に取り出すことができます。なお、取得される値はサーバーのタイムゾーン設定に依存する点に注意してください。

  1. MongoDBでDate/ISODateの各コンポーネント(年・月・日・時・分・秒)を取得する方法

    MongoDBでDate(ISODate)の各コンポーネント(年・月・日・時・分・秒など)を取得するには、まずコレクションに日付を含むドキュメントを作成します。ここでは、実際のコード例を通して手順をわかりやすく解説します。1. 日付を含むドキュメントの作成まず、insert()メソッドを使って、現在日時を持つドキュメントをコレクションに挿入します。> db.componentOfDateDemo.insert({"ShippingDate":new Date()}); WriteResult({ "nInserted" : 1 })2. find(

  2. MongoDBで日付形式を変更する方法

    ```html MongoDBシェルでは、文字列として扱われている日付の形式を自由に変換できます。本記事では、split()メソッドとカスタム変数を使って、日付フォーマットを変換する手順を具体例とともに解説します。 変換前の日付データ 今回は、次のような「日-月-年(DD-MM-YYYY)」形式の日付を例にします。 01-10-2019 日付形式を変換する手順 この日付を「年-月-日(YYYY-MM-DD)」形式に変更します。まず、日付文字列をカスタム変数に格納し、split()メソッドで分割してから、文字列として組み立て直します。 区切り文字には正規表現 /-|\// を使用しているため