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

MongoDBシェルで日付値をフォーマットしますか?


日付値をフォーマットするには、MongoDBで$dateToStringを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo480.insertOne({id:1,"DueDate":new ISODate("2020-01-10")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e821056b0f3fa88e2279098")
}
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2017-12-21")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e821062b0f3fa88e2279099")
}
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2019-10-12")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e82106ab0f3fa88e227909a")
}
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2019-12-01")});{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e821078b0f3fa88e227909b")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo480.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e821056b0f3fa88e2279098"), "id" : 1, "DueDate" : ISODate("2020-01-
10T00:00:00Z") }
{ "_id" : ObjectId("5e821062b0f3fa88e2279099"), "id" : 1, "DueDate" : ISODate("2017-12-
21T00:00:00Z") }
{ "_id" : ObjectId("5e82106ab0f3fa88e227909a"), "id" : 1, "DueDate" : ISODate("2019-10-
12T00:00:00Z") }
{ "_id" : ObjectId("5e821078b0f3fa88e227909b"), "id" : 1, "DueDate" : ISODate("2019-12-
01T00:00:00Z") }

以下は、MongoDBシェルで日付値をフォーマットするためのクエリです-

> db.demo480.aggregate([
...    { "$match": { "id" : 1 } },
...    { "$sort": { "DueDate": -1 } },
...    {
...       "$project": {
...          "_id": 0,
...          "DueDate": {
...             "$dateToString": {
...                "format": "%Y-%m-%d %H-%M",
...                "date": "$DueDate"
...             }
...          }
...       }
...    }
... ])

これにより、次の出力が生成されます-

{ "DueDate" : "2020-01-10 00-00" }
{ "DueDate" : "2019-12-01 00-00" }
{ "DueDate" : "2019-10-12 00-00" }
{ "DueDate" : "2017-12-21 00-00" }

  1. MongoDBで日付形式を変更する

    次の日付があります- 01-10-2019 日付の形式を変更するには、カスタム変数を使用して日付を文字列に変換し、その形式を変更します- 以下は、日付を文字列に実装するためのクエリです- > var inputDate="01-10-2019"; > var formatDate= inputDate.split(/-|\//); > var outputString= formatDate[2]+'-'+formatDate[0]+'-'+formatDate[1]; 変数値の表示- > print(outpu

  2. MySQLの日付形式から数値の日付値を抽出しますか?

    これには、UNIX_TIMESTAMP()を使用します。以下は構文です- select UNIX_TIMESTAMP(STR_TO_DATE(yourColumnName, "%d-%b-%y")) as anyAliasName from yourTableName; テーブルを作成しましょう- mysql> create table demo34 −> ( −> datevalue varchar(40) −> ); Query OK, 0 rows affected (1.51 sec) 挿入コマンド-を