sql >> Database >  >> NoSQL >> MongoDB

Gegevens opvragen uit MongoDB met GraphQL in Django:Get-Go (1)

Het gemak van MongoDB gecombineerd met de kracht van GraphQL:ik kan geen betere combinatie bedenken dan dit! Ik zal een reeks artikelen samenstellen voor het werken aan GraphQL + MongoDB + Django. Dit is het eerste deel van die serie.

In dit artikel leert u hoe u-

  • importeer gegevens in MongoDB met behulp van een CSV-bestand
  • installeer GraphQL en andere gerelateerde Django-bibliotheken
  • trek gegevens van MongoDB naar Django

Van .csv naar MongoDB-verzameling

Voer deze code rechtstreeks in uw terminal uit (niet de mongod-console) om een ​​CSV-bestand van uw lokale te importeren. We gebruiken mongoimport, een tool/opdracht waarmee we elk JSON-, CSV- naar TSV-bestand kunnen importeren.

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

waar

-d:databasenaam

-c:collectienaam

-headerline:gebruikt om de headers te behouden

GraphQL installeren in Django

Nog een ander verhaal over mismatch in versiebeheer. Ik heb al met ze gespeeld, dus dat hoeft niet 🙂

Hieronder staan ​​de fouten die voor veel verwarring zorgden met betrekking tot de versies-

Fout wanneer de versie van grafene-django 3.0b7 was, de nieuwste maar het get_default_backend-pakket niet kon importeren

Opdrachten om elke bibliotheek/pakket/driver te installeren

  • grafeen
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
  • grafene-django
pip install "graphene-django>=2.0"

💡 Vergeet niet om 'graphene-django' en 'graphene' toe te voegen aan uw settings.py-bestand

De gegevens van een MongoDB-verzameling naar het Django-project halen

Importeer de Document-klasse uit de mongoengine-bibliotheek en importeer vervolgens de velden die vereist zijn.

💡 U kunt het datatype van het veld in MongoDB in de MongoDB Atlas-console controleren en het veld vervolgens importeren in uw Django-project. Voorbeeld- Het ID-veld in een document-ID is altijd een ObjectIDField.

Ik heb een MongoDB-documentverkopers en de klasse die toegang heeft tot het document is VendorData.

Dit was het eerste deel van de reeks MongoDB+Django+GraphQL-tutorials. In de latere delen zal ik meer uitleggen over het schrijven van queries in Django en GraphQL.


  1. De MongoDB-foutlogboeken decoderen

  2. Hoe NoSQL-databases presteren op geaggregeerde functies (AVG, SUM, enz.)

  3. Toegang krijgen tot een variabele binnen een railsthread

  4. Hoe u zeer beschikbare open source database-omgevingen kunt ontwerpen