我有一个bash脚本,用于从集合中生成每日csv报告。在脚本中我使用mongoexport,例如:
mongoexport --authenticationDatabase $DBNAME -h $CONN_STRING -u $USERNAME -p $PASSWORD --db listings --collection listings --type=csv --out $EXTRACTED_FILE_NAME --fields _id,Version,MerchantId,HBSku,MerchantSku,Price.Currency,Price.Amount,AvailableStock,CommissionRate,CommissionType,PaymentTermInDays,CreatedAt,UpdatedAt,IsActive,DispatchTime,IsSalable,CargoCompanies.0 --query "{ \$or: [{\"CreatedAt\" : { \$gte : { \"\$date\" : \"$OLD_DATE$DATE_POSIX\" }}}, {\"UpdatedAt\" : { \$gte : { \"\$date\" : \"$OLD_DATE$DATE_POSIX\" }}}]}"
或问题相关部分:
--fields _id,Version,MerchantId,HBSku,MerchantSku,Price.Currency,Price.Amount,AvailableStock,CommissionRate,CommissionType,PaymentTermInDays,CreatedAt,UpdatedAt,IsActive,DispatchTime,IsSalable,CargoCompanies.0
最后一个参数CargoCompanies是一个整数数组,表示为:
"CargoCompanies" : [
NumberInt(1)
]
MongoExport生成文件并将空字符串放入CargoCompanies.0字段。
我想要的是mongoexport应该放置CargoCompanies的第一个元素值:1。不是NumberInt(1),只是1.
我该怎么办?
感谢。
答案 0 :(得分:0)
在mongoexport
的新版本r3.0.14
中,错误已修复,
当您尝试导出整数数组字段时,
[1,2,3]
打印在csv文件中而不是
[
NumberInt(1), NumberInt(2), NumberInt(3)
]