La facilità di MongoDB unita alla potenza di GraphQL:non riesco a pensare a una combinazione migliore di questa! Curerò una serie di articoli per lavorare su GraphQL + MongoDB + Django. Questa è la prima parte di quella serie.
In questo articolo imparerai come-
- importa i dati in MongoDB utilizzando un file CSV
- installa GraphQL e altre librerie Django correlate
- estrae i dati da MongoDB a Django
Da .csv a MongoDB Collection
Esegui questo codice direttamente nel tuo terminale (non nella console mongod) per importare un file CSV dal tuo locale. Stiamo usando mongoimport che è uno strumento/comando che ci consente di importare qualsiasi file JSON, CSV in TSV.
mongoimport -d vendors -c vendors --type csv --file vendorlist.csv --headerline
dove
-d:nome del database
-c:nome della raccolta
-headerline:utilizzato per mantenere le intestazioni
Installazione di GraphQL in Django
Ancora un'altra saga della mancata corrispondenza delle versioni. Ho già giocato con loro quindi non devi 🙂
Di seguito sono riportati gli errori che stavano causando molta confusione riguardo alle versioni-
Errore quando la versione di graphene-django era 3.0b7 che era l'ultima ma non poteva importare il pacchetto get_default_backend
Comandi per installare ogni libreria/pacchetto/driver
- grafene
pip install graphene==2.1.8
- graphql-core
python -m pip install graphql-core==2.3.2
- pimongo
python3 -m pip install pymongo==3.12.1
- grafene-django
pip install "graphene-django>=2.0"
💡 Non dimenticare di aggiungere "graphene-django" e "graphene" al tuo file settings.py
Ottenere i dati di una raccolta MongoDB nel progetto Django
Importa la classe Document dalla libreria mongoengine e successivamente importa i campi richiesti.
💡 Puoi controllare il tipo di dati del campo in MongoDB nella console MongoDB Atlas e quindi importare il campo nel tuo progetto Django. Esempio:il campo ID in un documento è sempre un ObjectIDField.
Ho un fornitore di documenti MongoDB e la classe che accede al documento è VendorData.
Questa è stata la prima parte della serie di tutorial MongoDB+Django+GraphQL. Spiegherò di più sulla scrittura di query in Django e GraphQL nelle parti successive.