Почему pymongo выдает ошибку?

Разбираюсь как работать с pymongo. Написал простенький код:

from pymongo import MongoClient
cluster = MongoClient("mongodb+srv://тут мое имя:<мой пароль>@cluster0.7xxw7.mongodb.net/testbase(это имя моей бд)?retryWrites=true&w=majority")
db = cluster["testbase"]
collection = db["users"]
name = input("> ")
collection.insert_one({"_id":1, "name": name, "balance":random.randint(1, 100)})

Появляется ошибка

    raise OperationFailure(errmsg, code, response, max_wire_version)
pymongo.errors.OperationFailure: bad auth : Authentication failed., full error: {'ok': 0, 'errmsg': 'bad auth : Authentication failed.', 'code': 8000, 'codeName': 'AtlasError'}

В чем проблема?


Ответы (1 шт):

Автор решения: SerjK

Укажите в строке подключения базу данных для авторизации пользователя, т.е. где пользователь создан. Обычно это admin.

Пример: MongoClient('mongodb://путь_к_базе', username='пользователь', password='пароль', authSource='admin')

https://pymongo.readthedocs.io/en/stable/api/pymongo/mongo_client.html#pymongo.mongo_client.MongoClient

→ Ссылка