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

MongoDBに日付を挿入する方法を徹底解説!Date()の使い方と実行例

MongoDBに日付を挿入する基本

MongoDBに日付データを挿入するには、JavaScriptのDate()オブジェクトを使用します。ここでは、サンプルコレクション「demo421」を作成し、実際に日付を持つドキュメントを挿入する手順を見ていきましょう。

1. insert()で日付付きドキュメントを挿入する

現在の日時を挿入する場合はDate.now()を、特定の日付を挿入する場合は「YYYY-MM-DD」形式の文字列を指定します。

> db.demo421.insert({"DueDate":new Date(Date.now())});
WriteResult({ "nInserted" : 1 })
> db.demo421.insert({"DueDate":new Date("2020-01-15")});
WriteResult({ "nInserted" : 1 })
> db.demo421.insert({"DueDate":new Date("2018-12-31")});
WriteResult({ "nInserted" : 1 })

各コマンドの実行後に WriteResult({ "nInserted" : 1 }) と表示されれば、ドキュメントの挿入は成功です。

2. find()で挿入結果を確認する

find()メソッドを使うと、コレクション内のすべてのドキュメントを一覧表示できます。

> db.demo421.find();

実行すると、以下のような出力が得られます。

{ "_id" : ObjectId("5e73a2ec9822da45b30346de"), "DueDate" : ISODate("2020-03-19T16:50:52.746Z") }
{ "_id" : ObjectId("5e73a2fb9822da45b30346df"), "DueDate" : ISODate("2020-01-15T00:00:00Z") }
{ "_id" : ObjectId("5e73a3079822da45b30346e0"), "DueDate" : ISODate("2018-12-31T00:00:00Z") }

ポイント解説

  • Date.now()の役割: 現在時刻をミリ秒単位のタイムスタンプで取得し、new Date()に渡すことで現在日時のDateオブジェクトを生成します。
  • ISODate形式について: MongoDBは日付を内部的にBSON Date型として保存し、表示時にはUTC(協定世界時)ベースのISODate形式で出力されます。
  • 日付文字列を指定した場合: 「YYYY-MM-DD」形式で指定すると、その日の午前0時(UTC)として保存される点に注意してください。

このように、Date()オブジェクトを活用すれば、現在日時から過去・未来の任意の日付まで柔軟にMongoDBへ挿入できます。期限管理やログ記録など、日付を扱うアプリケーション開発の基礎としてぜひ押さえておきましょう。

  1. MongoDBでISODateを使った日付クエリの操作方法|$gte演算子の使い方を解説

    MongoDBでISODateを使った日付クエリの基本MongoDBでISODate()を用いた日付クエリを実行するには、比較演算子の$gteをISODate()と組み合わせるのが一般的な方法です。これにより、「指定した日時以降のデータを取得する」といった条件検索が簡単に行えます。本記事では、実際にコレクションを作成しながら、日付クエリの具体的な使い方を順番に見ていきましょう。サンプルコレクションの作成まずは概念を理解するため、日付フィールドを含むドキュメントを持つコレクションを作成します。以下のクエリでコレクションの作成とドキュメントの挿入が同時にできます。> db.dateDemo.

  2. MongoDBでコンソールをクリアする2つの方法|ショートカット「Ctrl + L」とコマンド「cls」の使い方

    MongoDBのシェル(mongo / mongosh)を使っていると、実行したクエリや結果がどんどん積み重なり、画面が見づらくなることがあります。そんなときに便利なのがコンソールのクリア機能です。MongoDBでは、以下の2つの方法でコンソールをクリアできます。 方法1:キーボードショートカット「Ctrl + L」を使う 最も手軽なのが、キーボードショートカットを使う方法です。次のキーを押すだけで、即座にコンソールをクリアできます。 Ctrl + L このキーを押すと、それまで表示されていたログや実行結果がすべて消え、まっさらな状態になります。Linuxのターミナルなどと同じ操作感なので、