MongoDB – 如何修復“無法從字串型別轉換為日期型別”?
要解決這個問題,請在 MongoDB aggregate() 中使用 $dateFromString。 $dateFromString 會將日期/時間字串轉換為日期物件。
讓我們建立一個包含文件的集合 −
> db.demo619.insertOne({"DueDate":"10-10-2020"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e99d7846c954c74be91e69e")
}
> db.demo619.insertOne({"DueDate":"12-01-2019"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e99d7996c954c74be91e69f")
}
> db.demo619.insertOne({"DueDate":"28-10-2010"});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e99d7ab6c954c74be91e6a0")
}使用 find() 方法顯示集合中的所有文件 −
> db.demo619.find();
這將產生以下輸出 −
{ "_id" : ObjectId("5e99d7846c954c74be91e69e"), "DueDate" : "10-10-2020" }
{ "_id" : ObjectId("5e99d7996c954c74be91e69f"), "DueDate" : "12-01-2019" }
{ "_id" : ObjectId("5e99d7ab6c954c74be91e6a0"), "DueDate" : "28-10-2010" }以下是將日期/時間字串轉換為日期物件的查詢 −
> db.demo619.aggregate( [ {
... $project: {
... DueDate: {
... $dateFromString: {
... dateString: '$DueDate',
... timezone: 'America/New_York'
... }
... }
... }
... } ] )這將產生以下輸出 −
{ "_id" : ObjectId("5e99d7846c954c74be91e69e"), "DueDate" : ISODate("2020-10-10T04:00:00Z") }
{ "_id" : ObjectId("5e99d7996c954c74be91e69f"), "DueDate" : ISODate("2019-01-12T05:00:00Z") }
{ "_id" : ObjectId("5e99d7ab6c954c74be91e6a0"), "DueDate" : ISODate("2010-10-28T04:00:00Z") }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP