MongoDB - mongoexport alle Objekte in verschachtelten Arrays
Ich bin mit MongoDB version 2.6.x
. Und ich brauche zu exportieren, Dokumente aus einer bestimmten Sammlung.
mongoexport
ist das Werkzeug, welches Ihnen die Notwendigkeit. Allerdings weiß ich nicht wie ich den export alle Objekte unter einem verschachtelten array. Unten ist das Beispiel-Dokument, das ich habe.
{
"_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"}
]
}
Unten ist die mongoexport
Befehl
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
wo fields.txt
hat folgenden Inhalt
field_array.sub_field_1
field_array.sub_field_2
Bekomme ich die Daten wie unten in der csv habe ich.e leere Felder.
field_array.sub_field_1,field_array.sub_field_2
,
Allerdings, wenn ich angeben, dass der index-Wert in fields.txt
wie unten
field_array.0.sub_field_1
field_array.0.sub_field_2
dann, ich bekomme die folgenden Daten
field_array.sub_field_1,field_array.sub_field_2
sub_val_1,sub_val_1
ich.e, nur 1 Objekt in der field_array zurückgegeben, aber nicht alle.
Aber, was ich brauche, ist, wie unten
field_array.sub_field_1,field_array.sub_field_2
sub_val_1,sub_val_1
sub_val_2,sub_val_2
ich.e, alle Objekte in der field_array.
Hilfe?
- Sie können führen Sie eine zusammengesetzte Abfrage, die auf Ihre Dokumente und legen Sie dann alle Daten field_array, um eine neue Sammlung mit $out-of-Aggregat. Dann ist es einfach für Sie zum exportieren der Dokumente. Überprüfen Sie diesen link. docs.mongodb.org/manual/reference/operator/aggregation/out
Du musst angemeldet sein, um einen Kommentar abzugeben.
MongoExport
Exportieren Sie die Eigenschaft, deren Wert array-Objekt, dann entspannen Sie den array um einzelne Dokument und speichern, in neue Sammlung, exportieren Sie dann die Kollektion.
Zum Beispiel
Datenbank : abc
collection : xyz
MongoExport syntax
Beispiel : Export im CSV-Format
Beispiel : Export im JSON-Format
Mehr wissen, besuchen Sie bitte
$entspannen
https://docs.mongodb.org/v3.0/reference/operator/aggregation/unwind/
$aus
https://docs.mongodb.org/v3.0/reference/operator/aggregation/out/
$Projekt
https://docs.mongodb.org/v3.0/reference/operator/aggregation/project/
Scheint es, dass mongoexport nicht exportieren, werden alle Elemente des Arrays, es sei denn, Sie geben alle von Ihnen mit index eins nach dem anderen. Natürlich ist dies unrealistisch.
So können Sie split das array und speichern Sie die Daten in eine temporäre Sammlung, exportieren Sie dann aus dieser neuen Kollektion.