sql >> Databasteknik >  >> NoSQL >> MongoDB

Fråga efter data från MongoDB med GraphQL i Django:Get-Go (1)

Lättheten hos MongoDB i kombination med kraften i GraphQL:Jag kan inte komma på en bättre kombination än den här! Jag kommer att kurera en serie artiklar för att arbeta med GraphQL + MongoDB + Django. Det här är den första delen av den serien.

I den här artikeln kommer du att lära dig hur du-

  • importera data till MongoDB med en CSV-fil
  • installera GraphQL och andra relaterade Django-bibliotek
  • dra data från MongoDB till Django

Från .csv till MongoDB Collection

Kör den här koden direkt i din terminal (inte mongod-konsolen) för att importera en CSV-fil från din lokala. Vi använder mongoimport som är ett verktyg/kommando som gör att vi kan importera valfri JSON, CSV till TSV-fil.

mongoimport -d vendors -c vendors --type csv --file vendorlist.csv --headerline

var

-d:databasnamn

-c:samlingens namn

-headerline:används för att behålla rubrikerna

Installera GraphQL i Django

Ännu en saga om versionsfelmatchning. Jag har redan spelat med dem så du behöver inte 🙂

Nedan är de fel som orsakade mycket förvirring angående versionerna-

Fel när versionen av graphene-django var 3.0b7 vilket var senaste men det gick inte att importera get_default_backend-paketet

Kommandon för att installera varje bibliotek/paket/drivrutin

  • grafen
pip install graphene==2.1.8
  • graphql-core
python -m pip install graphql-core==2.3.2
  • pymongo
python3 -m pip install pymongo==3.12.1
  • graphene-django
pip install "graphene-django>=2.0"

💡 Glöm inte att lägga till "graphene-django" och "graphene" i filen settings.py

Få en MongoDB-samlings data till Django-projektet

Importera klassen Document från mongoengine-biblioteket och importera sedan de fält som krävs.

💡 Du kan kontrollera datatypen för fältet i MongoDB i MongoDB Atlas-konsolen och sedan importera fältet i ditt Django-projekt. Exempel- ID-fältet i ett dokument-id alltid ett ObjectIDField.

Jag har en MongoDB-dokumentleverantör och klassen som kommer åt dokumentet är VendorData.

Detta var den första delen av serien av MongoDB+Django+GraphQL-tutorials. Jag kommer att förklara mer om att skriva frågor i Django och GraphQL i de senare delarna.


  1. MongoDB jämför endast datum utan tider

  2. Vilken version av MongoDB är installerad på Ubuntu

  3. Komma igång med MongoDB Go-drivrutinen

  4. Lagra null kontra att inte lagra nyckeln alls i MongoDB