mongoDB를 fast api에 붙이는 중에 계정 생성하는 법을 몰라 athentic error가 발생해서 쓰는 글
1. 오류 및 원인 : mongodb authentication failed
계정 생성을 해줬는데도 에러가 계속 발생했다.
내가 사용할 collection 에 들어가서 계정 생성을 해줬는데 안되길래 봣더니 admin collection에서 계정 생성해줘야된다고 함
2. 해결
https://www.mongodb.com/try/download/compass
위 링크에서 MongoDB Compass를 다운받아 접속한다.
하단의 MONGOSH 쉘에서 계정 생성을 해준다.
use admin
db.createUser({user:"root", pwd:"root", roles:[{role:"readWrite", db:''}]})
db 에 사용할 컬렉션 이름을 기입해주면 됨
db.getUser("root")
db.getUser로 계정이 존재하는지 확인할 수 있다.
FastAPI에서 mongo접속 정보
from pymongo import MongoClient
client = MongoClient(
f"mongodb://{DB_USERNAME}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}"
)
db = client[DB_NAME]
collection = db[collection_name]
'DevOps > Database' 카테고리의 다른 글
Mariadb 도커로 로컬 환경 구성하기 (0) | 2023.02.21 |
---|---|
mongoDB 에러 해결 모음 (json serializable err, logger err, BSON byte err) (2) | 2022.11.02 |
RDB와 NOSQL의 용도 차이 (0) | 2022.08.02 |