我有我的ISODate在mongo作爲ISODate,我想只是在具有特定日期時間格式的字符串格式。如何將mongodb ISODate轉換爲mongoDB中的字符串?
這裏是ISODate:
ISODate("2020-04-24T11:41:47.280Z")
預期結果:
"2020-04-24T11:41:47.280Z"
我想這是對的MongoDB只能作爲我的很多服務都期待這種格式發生了,我不不想將所有服務中的變化作爲一項繁瑣的工作。
我有我的ISODate在mongo作爲ISODate,我想只是在具有特定日期時間格式的字符串格式。如何將mongodb ISODate轉換爲mongoDB中的字符串?
這裏是ISODate:
ISODate("2020-04-24T11:41:47.280Z")
預期結果:
"2020-04-24T11:41:47.280Z"
我想這是對的MongoDB只能作爲我的很多服務都期待這種格式發生了,我不不想將所有服務中的變化作爲一項繁瑣的工作。
我在嘗試以下時獲得了預期的結果。
ISODate("2020-04-24T11:41:47.280Z").toJSON()
這會給我後面的字符串
"2020-04-24T11:41:47.280Z"
厭倦了尋找它,謝謝 – mulya 2015-12-03 15:11:59
也許只是轉換成日期字符串?這與mongo比js少。時刻很棒但在mongo shell腳本中無法使用。
db.events.find().forEach(function(doc) {
// printjson ("Document is " + doc);
var isoDate = doc.t; // t is correct key?
var isoString = isoDate.toISOString()
// update the collection with string using a new key
db.events.update({"_id":doc._id},{$set:{"iso_str":isoString});
// or overwrite using 't' key db.events.update({"_id":doc._id},{$set:{"t":isoString});
})
我剛剛遇到了這個問題。 ISODate沒有內置任何東西。所以我將ISODate轉換成JSON文本,然後我做了一個子字符串來獲得我想要的部分。您也可以使用ISODate上的方法分別獲取年份,月份,日期,然後將它們合併。
function formatDate(isoDate){
return isoDate.toJSON().substr(9, 20);
}
我認爲你需要什麼dateToString功能 https://docs.mongodb.com/manual/reference/operator/aggregation/dateToString/
_鼓勵與外部資源的鏈接,但請在鏈接上添加上下文,以便您的同行用戶瞭解它是什麼以及它爲什麼在那裏。如果目標網站無法訪問或永久離線,請務必引用重要鏈接中最相關的部分._ – Bugs 2017-02-28 10:27:28
你從'mongo'殼這樣做,或特定的驅動程序? 'ISODate()'只是一個圍繞標準JavaScript'Date'對象的便捷包裝,因此您可以:'ISODate(「2020-04-24T11:41:47.280Z」)。toISOString()'。如果你使用JavaScript,我會建議[moment.js](http://momentjs.com/)更高級的格式。 – Stennie 2014-12-19 06:07:50
您是否在尋求將ISODate中的所有數據轉換爲字符串的方法。或者在mongodb中保存它作爲日期,並在後端請求時將其解析爲字符串。 – 2014-12-19 06:10:07
我正在mongo中運行一個更新腳本來將字符串日期轉換爲ISODate,這裏是我正在運行db.events.find()。forEach(function(element){if(element.t && typeof element。 t ===「string」){ element.t = ISODate(element.t); }})這裏element.t將是「2020-04-24T11:41:47.280Z」。運行此腳本後,它將轉換爲ISODate(「2020-04-24T11:41:47.280Z」)。現在我想把它轉換回mongo中相同的格式「2020-04-24T11:41:47.280Z」。我不能在mongodb中使用時刻。 – Manu 2014-12-19 06:19:42