Łatwość MongoDB połączona z siłą GraphQL:Nie mogę wymyślić lepszej kombinacji niż ta! Będę kuratorem serii artykułów do pracy nad GraphQL + MongoDB + Django. To pierwsza część tej serii.
W tym artykule dowiesz się, jak:
- importuj dane do MongoDB za pomocą pliku CSV
- zainstaluj GraphQL i inne powiązane biblioteki Django
- przeciągnij dane z MongoDB do Django
Z .csv do kolekcji MongoDB
Uruchom ten kod bezpośrednio w terminalu (nie w konsoli mongod), aby zaimportować plik CSV z lokalnego. Używamy mongoimport, który jest narzędziem/poleceniem, które umożliwia nam importowanie dowolnego pliku JSON, CSV do TSV.
mongoimport -d vendors -c vendors --type csv --file vendorlist.csv --headerline
gdzie
-d:nazwa bazy danych
-c:nazwa kolekcji
-headerline:używane do przechowywania nagłówków
Instalacja GraphQL w Django
Kolejna saga o niezgodności wersji. Grałem już z nimi, więc nie musisz 🙂
Poniżej znajdują się błędy, które powodowały wiele zamieszania w odniesieniu do wersji-
Błąd, gdy wersja graphene-django to 3.0b7, która była najnowsza, ale nie mogła zaimportować pakietu get_default_backend
Polecenia instalacji każdej biblioteki/pakietu/sterownika
- grafen
pip install graphene==2.1.8
- rdzeń graphql
python -m pip install graphql-core==2.3.2
- pymongo
python3 -m pip install pymongo==3.12.1
- grafen-django
pip install "graphene-django>=2.0"
💡 Nie zapomnij dodać „graphene-django” i „graphene” do pliku settings.py
Pobieranie danych z kolekcji MongoDB do projektu Django
Zaimportuj klasę Document z biblioteki mongoengine, a następnie zaimportuj wymagane pola.
💡 Możesz sprawdzić typ danych pola w MongoDB w konsoli MongoDB Atlas, a następnie zaimportować to pole do swojego projektu Django. Przykład- Pole ID w id dokumentu zawsze jest ObjectIDField.
Mam dostawców dokumentów MongoDB i klasa, która uzyskuje dostęp do dokumentu to VendorData.
To była pierwsza część serii samouczków MongoDB+Django+GraphQL. W dalszej części wyjaśnię więcej o pisaniu zapytań w Django i GraphQL.