sql >> Base de Datos >  >> NoSQL >> MongoDB

Consulta de datos de MongoDB usando GraphQL en Django:Get-Go (1)

La facilidad de MongoDB combinada con el poder de GraphQL:¡No puedo pensar en una mejor combinación que esta! Estaré seleccionando una serie de artículos para trabajar en GraphQL + MongoDB + Django. Esta es la primera parte de esa serie.

En este artículo, aprenderá a:

  • importar datos a MongoDB utilizando un archivo CSV
  • instalar GraphQL y otras bibliotecas Django relacionadas
  • extraer datos de MongoDB a Django

De .csv a la colección MongoDB

Ejecute este código directamente en su terminal (no en la consola mongod) para importar un archivo CSV desde su local. Estamos usando mongoimport, que es una herramienta/comando que nos permite importar cualquier archivo JSON, CSV a TSV.

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

donde

-d:nombre de la base de datos

-c:nombre de la colección

-headerline:se usa para mantener los encabezados

Instalar GraphQL en Django

Otra saga más de desajuste de versiones. Ya he jugado con ellos para que no tengas que hacerlo 🙂

A continuación se muestran los errores que estaban causando mucha confusión con respecto a las versiones-

Error cuando la versión de graphene-django era 3.0b7, que era la última, pero no podía importar el paquete get_default_backend

Comandos para instalar cada biblioteca/paquete/controlador

  • grafeno
pip install graphene==2.1.8
  • núcleo de graphql
python -m pip install graphql-core==2.3.2
  • pymongo
python3 -m pip install pymongo==3.12.1
  • grafeno-django
pip install "graphene-django>=2.0"

💡 No olvides agregar 'graphene-django' y 'graphene' a tu archivo settings.py

Obtener los datos de una colección de MongoDB en el proyecto Django

Importe la clase de documento de la biblioteca mongoengine y, posteriormente, importe los campos que se requieren.

💡 Puede verificar el tipo de datos del campo en MongoDB en la consola MongoDB Atlas y luego importar el campo en su proyecto Django. Ejemplo:el campo ID en un documento ID siempre es ObjectIDField.

Tengo proveedores de documentos MongoDB y la clase que accede al documento es VendorData.

Esta fue la primera parte de la serie de tutoriales de MongoDB+Django+GraphQL. Explicaré más sobre cómo escribir consultas en Django y GraphQL en las partes posteriores.