MongoDBの使いやすさとGraphQLのパワーの組み合わせ:これ以上の組み合わせは考えられません! GraphQL + MongoDB+Djangoで作業するための一連の記事をキュレーションします。これはそのシリーズの最初の部分です。
この記事では、その方法を学びます-
- CSVファイルを使用してMongoDBにデータをインポートする
- GraphQLおよびその他の関連するDjangoライブラリをインストールする
- MongoDBからDjangoにデータをプルする
.csvからMongoDBコレクションへ
このコードをターミナル(mongodコンソールではなく)で直接実行して、ローカルからCSVファイルをインポートします。 JSON、CSVをTSVファイルにインポートできるツール/コマンドであるmongoimportを使用しています。
mongoimport -d vendors -c vendors --type csv --file vendorlist.csv --headerline
ここで
-d:データベース名
-c:コレクション名
-headerline:ヘッダーを保持するために使用されます
DjangoへのGraphQLのインストール
バージョンミスのミスマッチのさらに別の物語。私はすでに彼らと遊んだので、あなたはそうする必要はありません🙂
以下は、バージョンに関して多くの混乱を引き起こしていたエラーです-
グラフェン-djangoのバージョンが最新の3.0b7であったが、get_default_backendパッケージをインポートできなかった場合のエラー
各ライブラリ/パッケージ/ドライバをインストールするコマンド
- グラフェン
pip install graphene==2.1.8
- graphql-コア
python -m pip install graphql-core==2.3.2
- ピモンゴ
python3 -m pip install pymongo==3.12.1
- グラフェン-django
pip install "graphene-django>=2.0"
💡settings.pyファイルに「graphene-django」と「graphene」を追加することを忘れないでください
MongoDBコレクションのデータをDjangoプロジェクトに取得する
mongoengineライブラリからDocumentクラスをインポートし、続いて必要なフィールドをインポートします。
💡MongoDBAtlasコンソールでMongoDBのフィールドのデータ型を確認してから、Djangoプロジェクトにフィールドをインポートできます。例-ドキュメントIDのIDフィールドは常にObjectIDFieldです。
MongoDBドキュメントベンダーがあり、ドキュメントにアクセスしているクラスはVendorDataです。
これは、一連のMongoDB + Django+GraphQLチュートリアルの最初の部分でした。 DjangoとGraphQLでのクエリの記述については、後の部分で詳しく説明します。