Kemudahan MongoDB dikombinasikan dengan kekuatan GraphQL:Saya tidak bisa memikirkan kombinasi yang lebih baik dari ini! Saya akan membuat serangkaian artikel untuk mengerjakan GraphQL + MongoDB + Django. Ini adalah bagian pertama dari seri itu.
Dalam artikel ini, Anda akan mempelajari cara-
- mengimpor data ke MongoDB menggunakan file CSV
- instal GraphQL dan pustaka Django terkait lainnya
- tarik data dari MongoDB ke Django
Dari .csv ke Koleksi MongoDB
Jalankan kode ini langsung di terminal Anda (bukan konsol mongod) untuk mengimpor file CSV dari lokal Anda. Kami menggunakan mongoimport yang merupakan alat/perintah yang memungkinkan kami mengimpor file JSON, CSV ke TSV.
mongoimport -d vendors -c vendors --type csv --file vendorlist.csv --headerline
dimana
-d:nama basis data
-c:nama koleksi
-headerline:digunakan untuk menyimpan header
Memasang GraphQL di Django
Namun saga lain ketidakcocokan versi. Saya sudah bermain dengan mereka sehingga Anda tidak perlu
Di bawah ini adalah kesalahan yang menyebabkan banyak kebingungan terkait versi-
Kesalahan ketika versi graphene-django adalah 3.0b7 yang terbaru tetapi tidak dapat mengimpor paket get_default_backend
Perintah untuk menginstal setiap library/package/driver
- grafena
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
- graphene-django
pip install "graphene-django>=2.0"
Jangan lupa untuk menambahkan 'graphene-django' dan 'graphene' ke file settings.py Anda
Mendapatkan data koleksi MongoDB ke proyek Django
Impor kelas Dokumen dari perpustakaan mongoengine dan selanjutnya impor bidang yang diperlukan.
Anda dapat memeriksa tipe data bidang dalam MongoDB di konsol MongoDB Atlas dan kemudian mengimpor bidang dalam proyek Django Anda. Contoh- Bidang ID dalam id dokumen selalu berupa ObjectIDField.
Saya memiliki vendor dokumen MongoDB dan kelas yang mengakses dokumen tersebut adalah VendorData.
Ini adalah bagian pertama dari seri tutorial MongoDB+Django+GraphQL. Saya akan menjelaskan lebih lanjut tentang menulis kueri di Django dan GraphQL di bagian selanjutnya.