MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Запитване на данни от MongoDB с помощта на GraphQL в Django:Get-Go (1)

Лекотата на MongoDB, съчетана със силата на GraphQL:Не мога да измисля по-добра комбинация от тази! Ще подготвя серия от статии за работа върху GraphQL + MongoDB + Django. Това е първата част от тази поредица.

В тази статия ще научите как да-

  • импортирайте данни в MongoDB с помощта на CSV файл
  • инсталирайте GraphQL и други свързани Django библиотеки
  • изтеглете данни от MongoDB към Django

От .csv към колекция MongoDB

Изпълнете този код директно във вашия терминал (не в конзолата на mongod), за да импортирате CSV файл от вашия локален. Ние използваме mongoimport, който е инструмент/команда, която ни позволява да импортираме всеки JSON, CSV в TSV файл.

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

където

-d:име на базата данни

-c:име на колекция

-headerline:използва се за запазване на заглавките

Инсталиране на GraphQL в Django

Още една сага за несъответствие на версиите. Вече съм играл с тях, така че не е нужно 🙂

По-долу са грешките, които причиняват много объркване по отношение на версиите-

Грешка, когато версията на graphene-django беше 3.0b7, която беше най-новата, но не можа да импортира пакета get_default_backend

Команди за инсталиране на всяка библиотека/пакет/драйвер

  • графен
pip install graphene==2.1.8
  • graphql-core
python -m pip install graphql-core==2.3.2
  • пимонго
python3 -m pip install pymongo==3.12.1
  • graphene-django
pip install "graphene-django>=2.0"

💡 Не забравяйте да добавите „graphene-django“ и „graphene“ към вашия файл settings.py

Получаване на данните от колекция MongoDB в Django проект

Импортирайте класа Document от библиотеката на mongoengine и впоследствие импортирайте полетата, които се изискват.

💡 Можете да проверите типа данни на полето в MongoDB в MongoDB Atlas конзолата и след това да импортирате полето във вашия Django проект. Пример – Идентификационното поле в идентификатора на документ винаги е ObjectIDField.

Имам доставчици на документи MongoDB и класът, който осъществява достъп до документа, е VendorData.

Това беше първата част от поредицата уроци по MongoDB+Django+GraphQL. Ще обясня повече за писането на заявки в Django и GraphQL в следващите части.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Запитване след попълване в Mongoose

  2. Разбиране на опциите за изчакване на клиента на MongoDB

  3. Mongodb намиране вътре в подмасив

  4. Някой пробвал ли е MongoDB на Google App Engine?

  5. Има ли причини, поради които трябва/не трябва да използвам ObjectId в моя RESTful URL адрес