Die Leichtigkeit von MongoDB kombiniert mit der Leistungsfähigkeit von GraphQL:Ich kann mir keine bessere Kombination vorstellen! Ich werde eine Reihe von Artikeln für die Arbeit an GraphQL + MongoDB + Django kuratieren. Dies ist der erste Teil dieser Serie.
In diesem Artikel erfahren Sie, wie Sie-
- Daten mithilfe einer CSV-Datei in MongoDB importieren
- Installieren Sie GraphQL und andere verwandte Django-Bibliotheken
- Daten von MongoDB nach Django ziehen
Von .csv zur MongoDB-Sammlung
Führen Sie diesen Code direkt in Ihrem Terminal (nicht in der Mongod-Konsole) aus, um eine CSV-Datei von Ihrem lokalen. Wir verwenden Mongoimport, ein Tool/Befehl, mit dem wir jede JSON-, CSV- und TSV-Datei importieren können.
mongoimport -d vendors -c vendors --type csv --file vendorlist.csv --headerline
wo
-d:Datenbankname
-c:Sammlungsname
-headerline:Wird verwendet, um die Header beizubehalten
Installieren von GraphQL in Django
Noch eine weitere Saga von Versionskonflikten. Ich habe schon damit gespielt, also musst du nicht 🙂
Unten sind die Fehler, die viel Verwirrung bezüglich der Versionen verursacht haben-
Fehler, wenn die Version von graphene-django 3.0b7 war, was die neueste war, aber das get_default_backend-Paket konnte nicht importiert werden
Befehle zum Installieren der einzelnen Bibliotheken/Pakete/Treiber
- Graphen
pip install graphene==2.1.8
- graphql-Kern
python -m pip install graphql-core==2.3.2
- Pymongo
python3 -m pip install pymongo==3.12.1
- Graphen-Django
pip install "graphene-django>=2.0"
💡 Vergessen Sie nicht, „graphene-django“ und „graphene“ zu Ihrer settings.py-Datei hinzuzufügen
Die Daten einer MongoDB-Sammlung in das Django-Projekt übertragen
Importieren Sie die Document-Klasse aus der Mongoengine-Bibliothek und importieren Sie anschließend die erforderlichen Felder.
💡 Sie können den Datentyp des Felds in MongoDB in der MongoDB Atlas-Konsole überprüfen und das Feld dann in Ihr Django-Projekt importieren. Beispiel:Das ID-Feld in einer Dokument-ID ist immer ein ObjectIDField.
Ich habe einen MongoDB-Dokumentanbieter und die Klasse, die auf das Dokument zugreift, ist VendorData.
Dies war der erste Teil der Reihe von MongoDB+Django+GraphQL-Tutorials. Ich werde in späteren Teilen mehr über das Schreiben von Abfragen in Django und GraphQL erklären.