MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Interrogazione di dati da MongoDB utilizzando GraphQL in Django:Get-Go (1)

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.