Mongoシェルを使ってMongoDBにDate()を挿入する方法
Mongoシェル経由でMongoDBにDate()型の日付を挿入するには、まずJavaScriptのDateオブジェクトを変数に作成し、その変数をフィールド値としてinsertOne()メソッドで登録します。ここでは、基本的な構文から実際の挿入・確認までの手順を順番に解説します。
基本構文
var yourVariableName = new Date(year, month, day, hour, minute);
db.yourCollectionName.insertOne({ yourDateFieldName: yourVariableName });ステップ1:日付変数を作成する
まず、挿入したい日時を持つDateオブジェクトを変数に格納します。
> var creatingDate = new Date(2019, 03, 29, 13, 12);
なお、JavaScriptのDateコンストラクタでは「月」が0から始まる(0=1月、3=4月)ため、上記の例は「2019年4月29日13時12分」を表している点に注意してください。
ステップ2:コレクションにドキュメントを挿入する
次に、作成した日付変数を含むドキュメントをコレクションに挿入します。
> db.insertingDateUsingVariableDemo.insertOne({
... "UserName": "John",
... "UserMessages": ["Hi", "Hello", "Awesome"],
... "UserPostDate": creatingDate
... });ステップ3:find()メソッドでドキュメントを確認する
挿入したすべてのドキュメントを表示するには、find()メソッドを使用します。pretty()を組み合わせると、整形された読みやすい形式で出力されます。
> db.insertingDateUsingVariableDemo.find().pretty();
実行結果
{
"_id" : ObjectId("5c9d1b19a629b87623db1b21"),
"UserName" : "John",
"UserMessages" : [
"Hi",
"Hello",
"Awesome"
],
"UserPostDate" : ISODate("2019-04-29T07:42:00Z")
}このように、変数に格納したDateオブジェクトは、MongoDB側でISODate形式(UTC)に変換されて保存されます。タイムゾーンの違いにより、指定したローカル時間と保存後の時刻がずれて表示される場合があるため、運用時は留意しておきましょう。
-
MongoDBでDate/ISODateの各コンポーネント(年・月・日・時・分・秒)を取得する方法
MongoDBでDate(ISODate)の各コンポーネント(年・月・日・時・分・秒など)を取得するには、まずコレクションに日付を含むドキュメントを作成します。ここでは、実際のコード例を通して手順をわかりやすく解説します。1. 日付を含むドキュメントの作成まず、insert()メソッドを使って、現在日時を持つドキュメントをコレクションに挿入します。> db.componentOfDateDemo.insert({"ShippingDate":new Date()}); WriteResult({ "nInserted" : 1 })2. find(
-
mongoコマンドでMongoDBシェルを起動する方法
MongoDBシェルの起動方法MongoDBのシェル(対話型インターフェース)を起動するには、mongo コマンドを使用します。mongosではなく、クライアント用のシェルである mongo コマンドを実行する点に注意してください。基本構文> mongo起動手順まず、コマンドプロンプト(Windowsの場合はcmd)を開き、MongoDBがインストールされているbinディレクトリへ移動します。以下のようなパスになります。cd C:\Program Files\MongoDB\Server\<バージョン>\binbinディレクトリに移動したら、次のコマンドを入力してMongoD