2014-11-24 90 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