Файл docker compose yml имеет настройки контейнера mon go, как показано ниже:
mongo:
image: mongo
restart: always
ports:
- 27017:27017
environment:
MONGO_INITDB_ROOT_USERNAME: "minu"
MONGO_INITDB_ROOT_PASSWORD: "strongPq23$"
У меня есть код python, который выглядит следующим образом:
import pymongo
import sys
class mongo_client:
def __init__(self,host,port,db,username,password):
self.client =pymongo.MongoClient(host=host,port=port,username=username,password=password,authSource=db)
self.mydb = self.client[db]
def insert_one(self,json,collection):
try:
inserted=(self.mydb[collection]).insert_one(json)
except:
print("Unexpected error while inserting into Mongo DB:", sys.exc_info()[0])
return
return inserted.inserted_id
m=mongo_client(host='127.0.0.1',port=27017,db=0,username='minu',password="strongPq23$",authSource=0
m.insert_one(some_dict,collection)
Я не уверен, что метод аутентификации, который я использую, правильный? Я получаю ошибку аутентификации. Я просто хочу вставить документы, используя insert_one (), который работает иначе, если нет контейнера и нет пользователя