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") }