2016-10-12 1 views
0

Ich importiere eine CSV-Datei in meine Mongo-Sammlung und es wird erfolgreich importiert. Das ist mein Windows-Eingabeaufforderung Ausführung:MongoDB "importierte Daten" werden nicht aus PHP abgerufen

mongoimport --host localhost --db testing --collection test1 --type csv --headerline --file Desktop\try.csv 
2016-10-12T23:25:10.464+0530 connected to: localhost 
2016-10-12T23:25:10.561+0530 imported 1 document 

Meine Sammlung zeigt folgendes:

> db.test1.find().pretty() 
{ 
     "_id" : ObjectId("57fe78fece1854fc74ad37f0"), 
     "class" : "7th", 
     "school_id" : 1 
} 
{ 
     "_id" : ObjectId("57fe7975912ee1426d6d94c6"), 
     "school_id" : "1", 
     "class" : "5th" 
} 
{ 
     "_id" : ObjectId("57fe7980912ee1426d6d94c7"), 
     "school_id" : "1", 
     "class" : "6th" 
} 

Hier habe ich importiert das Dokument nur mit Klasse 7.. Die Dokumente mit Klasse 5 und 6 wurden durch Mongo Shell eingefügt und nicht importiert.

Jetzt in PHP, wenn ich versuche, diese Dokumente abzurufen, und die "Klasse" jedes Dokuments anzuzeigen, kann ich nur Klassen 5th und 6th anzeigen, die ich durch Mongo Shell eingefügt habe. Die importierten Dokumentdaten werden nicht angezeigt, d. H. Klasse 7.

habe ich versucht, etwas mit "writeConcern":

mongoimport --host localhost --db testing --collection test1 --type csv --headerline --file Desktop\try.csv --writeConcern {w:"majority"} 

Ist das etwas Bedenken im Zusammenhang von MongoDB zu lesen oder schreiben? Oder etwas in Bezug auf den PHP-Mongo-Treiber?

Ich habe eine Menge Daten und ich kann es mir nicht leisten, es durch die Shell einzufügen. Bitte helfen Sie mir eine Lösung zu finden! Ich würde wirklich schätzen, wenn jemand irgendwelche Eingaben in dieser Angelegenheit hat.

Bitte helfen.

Grüße

(Ich benutze XAMPP Windows)

+0

versuchen FORWARD Schrägstrich mit Absoulte Pfad auch, C: /Users/username/Desktop/try.csv –

+0

Versucht, obwohl es nicht funktioniert. Allerdings habe ich meine CSV-Datei in JSON konvertiert und es hat funktioniert. Ich könnte es auf meiner Webseite abrufen. Keine Ahnung, warum es Daten von einer CSV ignorieren würde. – rogue12x

+0

Hallo, bitte überprüfen Sie diese http://StackOverflow.com/A/17265858, und diese http://StackOverflow.com/A/28463511 könnte Ihnen helfen, wenn Sie die CSV-Option versuchen möchten. –

Antwort

1

Es gibt einen Unterschied zwischen den Daten. Die school_id ist eine Nummer in der siebten und eine Zeichenfolge in der fünften und sechsten. Verursacht dies ein Problem in Ihrer Anfrage?

+0

Wenn das nicht das Problem ist, bitte posten Sie PHP-Code. –

+0

Das war das Problem, ja, danke. Es kann jedoch keine Möglichkeit gefunden werden, die Nummer als Zeichenfolge zu importieren. Doppelte Anführungszeichen funktionieren nicht. Ich führe gerade einen Update-Befehl, um den Typ zu ändern. Gibt es einen direkten Ansatz? – rogue12x

+0

Es gibt keine Möglichkeit, es als Zeichenfolge zu importieren (siehe diese Antwort http://stackoverflow.com/a/10303303/266375). Sie müssen etwas zusätzlichen Code schreiben, ich würde vorschlagen, die Datenbank nach dem Import zu bearbeiten. –

Verwandte Themen