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

Forespørgsel om data fra MongoDB ved hjælp af GraphQL i Django:Get-Go (1)

Letheden ved MongoDB kombineret med kraften i GraphQL:Jeg kan ikke komme i tanke om en bedre kombination end denne! Jeg vil kuratere en række artikler for at arbejde med GraphQL + MongoDB + Django. Dette er den første del af den serie.

I denne artikel lærer du, hvordan du-

  • importer data til MongoDB ved hjælp af en CSV-fil
  • installer GraphQL og andre relaterede Django-biblioteker
  • træk data fra MongoDB til Django

Fra .csv til MongoDB Collection

Kør denne kode direkte i din terminal (ikke mongod-konsollen) for at importere en CSV-fil fra din lokale. Vi bruger mongoimport, som er et værktøj/kommando, der gør det muligt for os at importere enhver JSON, CSV til TSV-fil.

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

hvor

-d:databasenavn

-c:samlingsnavn

-headerline:bruges til at beholde overskrifterne

Installation af GraphQL i Django

Endnu en saga om versionsmismatch. Jeg har allerede spillet med dem, så det behøver du ikke 🙂

Nedenfor er de fejl, der forårsagede en masse forvirring med hensyn til versionerne-

Fejl, da versionen af ​​graphene-django var 3.0b7, som var nyeste, men den kunne ikke importere get_default_backend-pakken

Kommandoer til at installere hvert bibliotek/pakke/driver

  • 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"

💡 Glem ikke at tilføje 'graphene-django' og 'graphene' til din settings.py-fil

Få en MongoDB-samlings data til Django-projektet

Importer Document-klassen fra mongoengine-biblioteket og importer efterfølgende de felter, der kræves.

💡 Du kan tjekke datatypen for feltet i MongoDB i MongoDB Atlas-konsollen og derefter importere feltet i dit Django-projekt. Eksempel- ID-feltet i et dokument-id altid et ObjectIDField.

Jeg har en MongoDB dokumentleverandører, og den klasse, der har adgang til dokumentet, er VendorData.

Dette var den første del af serien af ​​MongoDB+Django+GraphQL-tutorials. Jeg vil forklare mere om at skrive forespørgsler i Django og GraphQL i de senere dele.


  1. Hvad er Mongoose-fejlen Cast to ObjectId mislykkedes for værdien XXX ved sti _id?

  2. Redis indtastede transaktioner

  3. MongoDB Aggregation:Beregn løbende totaler fra summen af ​​tidligere rækker

  4. Sådan bruger du Redis fra Node.js