MongoDBでは、Date() メソッドは、文字列またはDateオブジェクトとして日付を返します。
-
Date()と呼ぶ場合 、現在の日付をmongoの文字列として返します シェル。 -
new Date()と呼ぶ場合 、現在の日付をDateオブジェクトとして返します。
new Date()の引数として特定の日付を指定することもできます 、その日付を使用するようにします。
例– Date()
ドキュメントをコレクションに挿入し、Date()を使用する例を次に示します。 フィールドの1つの値として:
db.dogs.insert(
{
"_id" : 1,
"name" : "Fetch",
"lastModified" : Date()
}
) そのコードを実行した後、結果のドキュメントを見ることができます:
db.dogs.find().pretty() 結果:
{
"_id" : 1,
"name" : "Fetch",
"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}
lastModified 日付フィールドは、値として日付文字列を使用します。
例– new Date()
前述のように、日付文字列の代わりに日付オブジェクトを返す場合は、new Date()を使用します。 。
例:
db.dogs.insert(
{
"_id" : 2,
"name" : "Wag",
"lastModified" : new Date()
}
)
Date()を前に付けるだけです new 結果として、日付文字列ではなくDateオブジェクトになります。
それでは、ドキュメントのコレクションをもう一度確認しましょう:
db.dogs.find().pretty() 結果:
{
"_id" : 1,
"name" : "Fetch",
"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)"
}
{
"_id" : 2,
"name" : "Wag",
"lastModified" : ISODate("2021-01-27T00:19:08.862Z")
}
2番目のドキュメントの日付がISODate()でラップされていることがわかります。 ヘルパー。 ISODateはUTCです。
特定の日付を提供する
Date()を呼び出すときに、独自の日付を指定できます メソッド。
これを行うには、包括的範囲0内の年を含むISO-8601日付文字列を渡します。 9999まで new Date()へ コンストラクターまたはISODate() 働き。
これが例です。
db.dogs.update(
{ "_id" : 1 },
{ $set : { "born" : new Date( "2020-10-07" ) } }
) それでは、ドキュメントを確認しましょう:
db.dogs.find( { "_id": 1 } ).pretty() 結果:
{
"_id" : 1,
"name" : "Fetch",
"lastModified" : "Wed Jan 27 2021 10:15:53 GMT+1000 (AEST)",
"born" : ISODate("2020-10-07T00:00:00Z")
} 生まれたフィールドが追加され、指定された日付に設定されていることがわかります。
次の形式で日付を指定できます。
| フォーマット | 説明 |
|---|---|
YYYY-mm-dd | ISODateを返します 指定された日付で。 |
YYYY-mm-ddTHH:MM:ss | クライアントのローカルタイムゾーンで日時を指定し、ISODateを返します UTCで指定された日時を使用します。 |
YYYY-mm-ddTHH:MM:ssZ | UTCで日時を指定し、ISODateを返します UTCで指定された日時を使用します。 |
| 整数 | 値として整数を指定することもできます。これを行うと、Unixエポック(1970年1月1日)からのミリ秒として日時が指定され、結果のISODateが返されます。 インスタンス。 |
Unix Epoch
new Date()の引数として整数を指定する例を次に示します。 。
これを行うと、Unixエポック(1970年1月1日)からのミリ秒として日時が指定され、結果のISODateが返されます。 インスタンス。
db.dogs.update(
{ "_id" : 2 },
{ $set : { "born" : new Date( 1601207768012 ) } }
) それでは、ドキュメントを確認しましょう:
db.dogs.find( { "_id": 2 } ).pretty() 結果:
{
"_id" : 2,
"name" : "Wag",
"lastModified" : ISODate("2021-01-27T00:19:08.862Z"),
"born" : ISODate("2020-09-27T11:56:08.012Z")
}