MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Abfragen von Daten aus MongoDB mit GraphQL in Django:Get-Go (1)

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.