在 MongoDB 中將字串轉換為日期?(已翻譯)


若要在 MongoDB 中將字串轉換為日期,請使用以下語法

db.yourCollectionName.aggregate(
   [
      {
         $project:
         {
            anyVariableName:
            {
               $dateFromString:
               {
                  dateString: '$yourFieldName’
               }
            }
         }
      }
   ]
);

為了理解以上的語法,我們來建立一個包含一些文件的集合。下為用於建立包含文件的集合的查詢

> db.ConvertStringToDateDemo.insertOne({"ArrivalDate":"20-10-2019"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6ef3596fd07954a489069f")
}
> db.ConvertStringToDateDemo.insertOne({"ArrivalDate":"21-02-2019"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6ef3616fd07954a48906a0")
}
> db.ConvertStringToDateDemo.insertOne({"ArrivalDate":"10-12-2018"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6ef36d6fd07954a48906a1")
}
> db.ConvertStringToDateDemo.insertOne({"ArrivalDate":"31-01-2017"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6ef37b6fd07954a48906a2")
}

使用 find() 方法顯示集合中的所有文件。查詢如下

> db.ConvertStringToDateDemo.find().pretty();

以下是輸出

{
   "_id" : ObjectId("5c6ef3596fd07954a489069f"),
   "ArrivalDate" : "20-10-2019"
}
{
   "_id" : ObjectId("5c6ef3616fd07954a48906a0"),
   "ArrivalDate" : "21-02-2019"
}
{
   "_id" : ObjectId("5c6ef36d6fd07954a48906a1"),
   "ArrivalDate" : "10-12-2018"
}
{
   "_id" : ObjectId("5c6ef37b6fd07954a48906a2"),
   "ArrivalDate" : "31-01-2017"
}

以下是將字串轉換為日期的查詢

> db.ConvertStringToDateDemo.aggregate( [ {
...    $project: {
...       StringToDate: {
...          $dateFromString: {
...             dateString: '$ArrivalDate'
...          }
...       }
...    }
... } ] ).pretty();

以下是輸出

{
   "_id" : ObjectId("5c6ef3596fd07954a489069f"),
   "StringToDate" : ISODate("2019-10-20T00:00:00Z")
}
{
   "_id" : ObjectId("5c6ef3616fd07954a48906a0"),
   "StringToDate" : ISODate("2019-02-21T00:00:00Z")
}
{
   "_id" : ObjectId("5c6ef36d6fd07954a48906a1"),
   "StringToDate" : ISODate("2018-12-10T00:00:00Z")
}
{
   "_id" : ObjectId("5c6ef37b6fd07954a48906a2"),
   "StringToDate" : ISODate("2017-01-31T00:00:00Z")
}

更新日期:2019 年 7 月 30 日

960 次瀏覽

開啟你的職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.