-1
你好我想在MongoDB
更新從string
格式我所有的JSON
文件(「週五5月20日9點54分13秒+0000 2016」),以一個ISODate
格式(YYYY-MM -DH HH:MM:SS)。爲了做到這一點,我使用了子串和自制功能。這工作正常,我看到控制檯翻譯它應該是。MongoDB的更新字符串到日期不起作用
但是,當我更新記錄,我看到更新不起作用。我能做些什麼來使它工作。
很多謝謝。
樣品JSON文件
{
"_id" : ObjectId("573edec6ac5e621961f963f2"),
"contributors" : null,
"truncated" : false,
"text" : "Namens de verenigde marathonschaatsteams: gefeliciteerd @KNSB, @KPN en @Versteegen met het blijvend verbinden van schaatsend Nederland!",
"is_quote_status" : false,
"in_reply_to_status_id" : null,
"id" : NumberLong("733596684547018752"),
"favorite_count" : NumberInt("0"),
"source" : "<a href=\"https://about.twitter.com/products/tweetdeck\" rel=\"nofollow\">TweetDeck</a>",
"timestamp_ms" : "1463738053820",
"in_reply_to_screen_name" : null,
"id_str" : "733596684547018752",
"retweet_count" : NumberInt("0"),
"in_reply_to_user_id" : null,
"favorited" : false,
"geo" : null,
"in_reply_to_user_id_str" : null,
"lang" : "nl",
"created_at" : "Fri May 20 09:54:13 +0000 2016",
"filter_level" : "low",
"in_reply_to_status_id_str" : null,
"place" : null
}
在試手創樂團基礎上的評論對這個解決方案的建議:
Multiply field by value in Mongodb
更新腳本Mongobooster
db.eval(function() {
db.STG_LEADS_AUTOSCHADE.find().forEach(function(e) {
e.created_at = new Date(e.created_at);
db.collection.save(e);
});
});
結果
WARNING: db.eval is deprecated
但結果是,created_at字段沒有更新,仍然是一個字符串。
並將單據解決這個問題目前看起來像究竟是什麼?如果「不起作用」,您的代碼並不能完全幫助我們「逆向工程」。不知道'.updateupdate'是什麼,並且看起來像一個錯字,無論是在您的文章還是您的實際代碼中,這都是對「不起作用」的解釋。如果你需要幫助,你需要更具體地瞭解什麼是不工作,並提供足夠的信息,以便其他人可以提供幫助。 –
感謝您的快速回復 - 祝賀Lunn。我用json文檔的一個例子改進了我的問題,並刪除了輸入錯誤 –
對我來說'new Date(「Fri May 20 09:54:13 +0000 2016」)'''ISODate(「2016-05-20T09:54 :13Z「)'這似乎是正確的,你真的需要做的。不是嗎? –