Django에서 GraphQL을 사용하여 MongoDB에서 데이터 쿼리: Get-Go (1)

GraphQL의 성능과 결합된 MongoDB의 용이성: 이보다 더 나은 조합은 생각할 수 없습니다! 저는 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 설치하기



    버전 불일치의 또 다른 사가. 나는 이미 그들과 놀았으므로 당신은 할 필요가 없습니다 🙂



    다음은 버전과 관련하여 많은 혼란을 야기한 오류입니다.



    graphene-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
    


  • 그래핀-장고

  • pip install "graphene-django>=2.0"
    


    💡 settings.py 파일에 'graphene-django'와 'graphene'을 추가하는 것을 잊지 마세요.

    MongoDB 컬렉션의 데이터를 Django 프로젝트로 가져오기



    mongoengine 라이브러리에서 문서 클래스를 가져온 다음 필요한 필드를 가져옵니다.

    💡 MongoDB Atlas 콘솔에서 MongoDB의 필드 데이터 유형을 확인한 다음 Django 프로젝트에서 필드를 가져올 수 있습니다. 예- 문서 ID의 ID 필드는 항상 ObjectIDField입니다.

    MongoDB 문서 공급업체가 있고 문서에 액세스하는 클래스가 VendorData입니다.



    이것은 MongoDB+Django+GraphQL 자습서 시리즈의 첫 번째 부분이었습니다. Django 및 GraphQL에서 쿼리를 작성하는 방법에 대해서는 뒷부분에서 자세히 설명하겠습니다.

    좋은 웹페이지 즐겨찾기