2014-11-24 86 views
3

問題是,我發現mongoexport無法在db中保存數據類型。例如,有一個名爲「tweetID」的字段,它應該是一串數字,如「23465478」。將集合導出到csv文件後,我發現對於某些條目,tweetID以十進制類型導出,如「254323467.0」,而某些條目不是。爲了避免不必要的錯誤,我只想以純字符串類型導出所有字段。任何人都知道如何在命令mongoexport中設置它?提前致謝。如何設置mongoexport的數據類型

回答

4

你不能。如果mongoexport將123導出爲123.0,則123是文檔中的Double類型。你應該嘗試插入值作爲一個32位或64位整數

db.collection.insert({ "tweetId" : NumberLong(1234567) }) 

mongoexport出口JSON,使用strict mode JSON representation,這將插入某種類型的信息到JSON所以MongoDB的JSON解析器(如mongoimport)能夠再現正確的BSON數據類型而導出的JSON仍符合JSON標準

{ "tweetId" : { "$numberLong" : "1234567" } } 

要保留所有類型的信息,使用mongodump/mongorestore代替。要將所有字段值作爲字符串導出,您需要使用驅動程序編寫您自己的腳本,以獲取每個文檔並將所有值串聯起來。

+0

非常感謝。你真的解決了我的問題。 – Maytree23 2014-11-25 03:15:41