arrays - 如何将对象数组中的属性 mongoexport 导出到 CSV?

标签 arrays mongodb csv

我需要将数组中对象的值导出到 CSV。假设我的文档是:

{
    name:"test",
    types:[
        {type:"A"},
        {type:"B"},
                {type:"C"}
    ]
}

我的目标是产生如下输出:

"test", "A"
"test", "B"
"test", "C"

以下也是可以接受的:

"test", "A,B,C"

我正在尝试通过 mongoexport 使用:

mongoexport -h localhost -d mydb -c mycollection -f name,types.type --csv

不幸的是,我得到:

"test",

我找到了有关引用特定数组元素的文档,例如“types.0.type”,但我的数组的长度未知。有什么想法吗?

最佳答案

如果您对 Perl 感到满意,那么 article 中的 ARJsonLib.pm 库,提供您创建自己的小玩具所需的大部分功能。请注意,文章中的版本是来 self 一起破解的玩具的 stub ,它完全可以满足您的需求以及其他一些东西,但由于不是 mongoDB 文章,它缺少您需要的一个功能,它可以找到字段/键mongoDB 集合,并将它们存储在一个数组中,但重构起来很简单,只需编写一些东西,从您的集合中提取 n 个文档,将它们插入一个数组并调用 findKeysInJsonColl()。无论如何,其中一些函数将 MongoDB 游标作为参数,并且:

convertToDojoGrid()
convertToExcel()

CSV 输出再次丢失,但添加回 convertToExcel() 很简单。

例如

...
my $iRows  = convertToExcel("/tmp/test.xlsx", $oMongoData, "", \@aOutFields, "xlsx");
...

其中:$oMongoData 是一个 MongoDB 游标引用,@aOutFields 是一个数组,其中包含您希望出现在工作表中的字段/键,

关于arrays - 如何将对象数组中的属性 mongoexport 导出到 CSV?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10466203/

相关文章:

PHP多维数组长度

javascript - 设置输入值,然后禁用并移至下一个空输入

具有不区分大小写的模式元素的 mongoDB 查询

node.js - 使用 Node js 在 mongodb 中的多个字符串字段中进行高效的文本搜索

javascript - 仅通过 javascript 从下拉列表中删除重复项

JavaScript 数组比较并显示另一个数组的值

json - 使用基于 JSON 的数据库处理无序数据

php - 获取文件的详细信息然后插入到数据库

sql-server - 将 SSRS 报告导出为 CSV 格式时出现问题

java - 在Java中删除csv文件的内容