2017-01-24 3 views
1

ignorierst ich mit vielen Feldern, für die eine Menge von Daten in CSV habe der Wert 0.mongoimport Feldwert 0

ich all diese Daten in eine Sammlung importieren mag, aber die Felder ignorieren, wenn die Wert ist 0 (nicht die Zeile ignorieren, nur die Fied).

Ohne ignorieren die 0 Felder, mein Befehl lautet: mongoimport --db merch --collection output --type csv --headerline --file export_hub_dev.csv

Gibt es eine Möglichkeit, mit mongoimport, die das zu tun erlaubt? Zum Beispiel so etwas wie --parseGrace skipField aber mit dem Wert 0?

Oder eine andere Möglichkeit, das leicht zu tun?

Vielen Dank für Ihre Hilfe!

Antwort

1

Sie können zuerst das CSV importieren und dann die Felder durch $UNSET entfernen. Sie müssen dies für jedes Feld einzeln ausführen. Das Update Format

db.collection.update(
    <query>, 
    <update>, 
    { 
    upsert: <boolean>, 
    multi: <boolean>, 
    writeConcern: <document>, 
    collation: <document> 
    } 
) 
+0

$ ungesetzt Update nur das erste Dokument abgestimmt ist ... Wenn ich eine Schleife auf meine 14 Millionen Zeilen tue, wird es für Stunden. Hast du eine andere Lösung? Oder eine Lösung mit $ unset, vielleicht liege ich da falsch? – Toma

+0

@Toma, Sie können die Multi-Eigenschaft true angeben, wenn Sie aktualisieren. –

+0

Ok schön, danke :) – Toma