MongoDB - exportar todos os objetos no array aninhado
Estou usando a versão MongoDB2.6.x
. E preciso exportar documentos de uma coleção específica.
mongoexport
é a ferramenta que atende à necessidade. No entanto, não sei como exportar todos os objetos em uma matriz aninhada. Abaixo está o documento de amostra que tenho.
{
"_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"}
]
}
Abaixo está omongoexport
comando
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
Onde,fields.txt
tem abaixo do conteúdo
field_array.sub_field_1
field_array.sub_field_2
Recebo dados como abaixo nos campos csv, ou seja, vazios.
field_array.sub_field_1,field_array.sub_field_2
,
No entanto, se eu especificar o valor do índice emfields.txt
como abaixo
field_array.0.sub_field_1
field_array.0.sub_field_2
então, eu recebo os dados abaixo
field_array.sub_field_1,field_array.sub_field_2
sub_val_1,sub_val_1
ou seja, apenas 1 objeto na matriz de campo é retornado, mas não todos. Mas, o que eu preciso é como abaixo
field_array.sub_field_1,field_array.sub_field_2
sub_val_1,sub_val_1
sub_val_2,sub_val_2
ou seja, todos os objetos na matriz de campo.
Qualquer ajuda?