gpt4 book ai didi

MongoDB - mongoexport 嵌套数组中的所有对象

转载 作者:可可西里 更新时间:2023-11-01 09:18:23 25 4
gpt4 key购买 nike

我使用的是 MongoDB 版本 2.6.x。我需要从特定集合中导出文档。

mongoexport 是满足需求的工具。但是,我不知道如何导出嵌套数组下的所有对象。以下是我的示例文档。

{
"_id": 1,
"field_1": "value1",
"field_2": "value2",
"field_array": [
{"sub_field_1": "sub_val_1", "sub_field_2": "sub_val_2"},
{"sub_field_1": "sub_val_1", "sub_field_2": "sub_val_2"},
{"sub_field_1": "sub_val_1", "sub_field_2": "sub_val_2"}
]
}

下面是mongoexport命令

mongoexport -d db_name -c collection_name -q '{"field_array.sub_field_1": {$gte: "some_value_1", $lt: "some_value_2"}}' -fieldFile fields.txt --csv > data_report.csv

其中,fields.txt 包含以下内容

field_array.sub_field_1
field_array.sub_field_2

我在 csv 中得到如下数据,即空字段。

field_array.sub_field_1,field_array.sub_field_2
,

但是,如果我在 fields.txt 中指定索引值,如下所示

field_array.0.sub_field_1
field_array.0.sub_field_2

然后,我得到以下数据

field_array.sub_field_1,field_array.sub_field_2
sub_val_1,sub_val_1

即仅返回 field_array 中的 1 个对象,但不是全部。但是,我需要的是如下

field_array.sub_field_1,field_array.sub_field_2
sub_val_1,sub_val_1
sub_val_2,sub_val_2

即 field_array 中的所有对象。

有什么帮助吗?

最佳答案

MongoExport

要导出值为对象数组的属性,然后展开数组以生成单个文档并存储在新集合中,然后导出该集合。

例如

数据库:abc集合 : xyz

db.xyz.aggregate([
{$unwind: "$field_array"},
{$project: { _id:0,field_id:"$_id",Innerfield: "$field_array", "field_1": 1,"field_2":1}},
{$out: "aggregate_xyz"}
])

MongoExport 语法

mongoexport --host <hostname> --db <Database Name> --collection <collection Name> --csv --fields fieldname1,fieldname2 --out fileName.csv

示例:以 CSV 格式导出

mongoexport --host localhost --db abc --collection aggregate_xyz --csv --fields field_id,field_1,field_2,Innerfield.sub_field_1,Innerfield.sub_field_2 --out important.csv

示例:以 JSON 格式导出

mongoexport --host localhost --db abc --collection aggregate_xyz --fields field_id,field_1,field_2,Innerfield.sub_field_1,Innerfield.sub_field_2 --out important.json

了解更多请访问

$放松

https://docs.mongodb.org/v3.0/reference/operator/aggregation/unwind/

$输出

https://docs.mongodb.org/v3.0/reference/operator/aggregation/out/

$项目

https://docs.mongodb.org/v3.0/reference/operator/aggregation/project/

关于MongoDB - mongoexport 嵌套数组中的所有对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26378769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com