MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Interroger des données de MongoDB à l'aide de GraphQL dans Django :Get-Go (1)

La facilité de MongoDB combinée à la puissance de GraphQL :je ne peux pas penser à une meilleure combinaison que celle-ci ! Je vais organiser une série d'articles pour travailler sur GraphQL + MongoDB + Django. Ceci est la première partie de cette série.

Dans cet article, vous apprendrez à-

  • importer des données dans MongoDB à l'aide d'un fichier CSV
  • installer GraphQL et d'autres bibliothèques Django associées
  • extraire des données de MongoDB vers Django

Du .csv à la collection MongoDB

Exécutez ce code directement dans votre terminal (pas la console mongod) pour importer un fichier CSV depuis votre local. Nous utilisons mongoimport qui est un outil/commande qui nous permet d'importer n'importe quel fichier JSON, CSV vers TSV.

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

-d :nom de la base de données

-c :nom de la collection

-headerline :utilisé pour conserver les en-têtes

Installer GraphQL dans Django

Encore une autre saga de décalage de version. J'ai déjà joué avec eux donc vous n'avez pas à le faire 🙂

Vous trouverez ci-dessous les erreurs qui causaient beaucoup de confusion concernant les versions-

Erreur lorsque la version de graphène-django était 3.0b7 qui était la plus récente mais il n'a pas pu importer le package get_default_backend

Commandes pour installer chaque bibliothèque/paquet/pilote

  • graphène
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
  • graphène-django
pip install "graphene-django>=2.0"

💡 N'oubliez pas d'ajouter "graphène-django" et "graphene" à votre fichier settings.py

Récupérer les données d'une collection MongoDB dans le projet Django

Importez la classe Document de la bibliothèque mongoengine, puis importez les champs requis.

💡 Vous pouvez vérifier le type de données du champ dans MongoDB dans la console MongoDB Atlas, puis importer le champ dans votre projet Django. Exemple- Le champ ID dans un document id toujours un ObjectIDField.

J'ai un fournisseur de documents MongoDB et la classe qui accède au document est VendorData.

Il s'agissait de la première partie de la série de tutoriels MongoDB+Django+GraphQL. J'expliquerai plus sur l'écriture de requêtes dans Django et GraphQL dans les parties ultérieures.