MongoExport上的CSV错误的Bson对象类型无效

时间:2014-12-20 01:00:14

标签: mongodb

范围:

我有一个MongoDB的集合,我想导出到.csv文件。我已经用类似的数据库完成了这个,使用MongoExport.exe,在服务器上执行它(windows机器,托管MongoDB数据库)。

问题:

运行以下脚本后

mongoexport.exe --fieldFile fields.txt --db AppleStore --collection AppleStoreApps --out applestore.csv --csv --port 21766

我开始收到以下错误消息

Invalid BSON object type for CSV output:10

它适用于某些情况,但似乎大多数记录都会出现此错误。

更多信息:

这是mongoDB上的JSON对象的一个​​示例,应该导出:

{
"_id" : ObjectId("545c05ea74671a1d1c572da9"),
"url" : "https://itunes.apple.com/us/app/dc-eventos/id782560424?mt=8",
"name" : "DC Eventos",
"developerName" : "FERNANDO COSTA",
"developerUrl" : "https://itunes.apple.com/us/artist/fernando-costa/id729986271",
"price" : 0,
"isFree" : true,
"thumbnailUrl" : "http://a4.mzstatic.com/us/r30/Purple6/v4/ee/a2/5e/eea25e3f-8f12-9dce-c86f-37e5e3d9a8dc/icon350x350.jpeg",
"compatibility" : "Requires iOS 5.0 or later. Compatible with iPhone, iPad, and iPod touch. This app is optimized for iPhone 5.",
"category" : "Business",
"updateDate" : ISODate("2014-03-22T03:00:00.000Z"),
"version" : "1.82.82.542",
"size" : "16.3 MB",
"languages" : [ 
    "English"
],
"minimumAge" : 4,
"ageRatingReasons" : [],
"rating" : {
    "starsRatingCurrentVersion" : 0,
    "starsVersionAllVersions" : 0,
    "ratingsCurrentVersion" : 0,
    "ratingsAllVersions" : 0
},
"topInAppPurchases" : null

}

1 个答案:

答案 0 :(得分:1)

mongoexport可能会对空数组"ageRatingReasons" : [] - 和null对象造成阻塞。逐个检查记录并检查模式。

csv不能做'数组和对象因此需要json和xml。尝试导出json,然后使用各种json转换为csv转换器,这些转换器将处理复杂或自定义展平对象,例如[]0或跳过逗号val,,val,无论需要什么。 jsontocsv转换器还必须允许关闭验证,因为ObjectId(" 545c05ea74671a1d1c572da9")是无效的json。