docker-compose
mongo:
image: mongo:latest
ports:
- "27019:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
django:
build:
context: ./django
ports:
- "8001:8000"
environment:
MONGO_DB_USER: "root"
MONGO_DB_PASSWORD: "example"
MONGO_DB_HOST: "mongo"
MONGO_DB_PORT: "27019"
Файл подключения
import pymongo
import environ
import os.path
from pathlib import Path
BASE_DIR = Path(__file__).resolve().parent.parent
env = environ.Env()
environ.Env.read_env(env_file=os.path.join(BASE_DIR, '.env'))
string_connect = "mongodb://"+env('MONGO_DB_USER')+":"+env('MONGO_DB_PASSWORD')+"@"+env('MONGO_DB_HOST')+":"+env('MONGO_DB_PORT')+"/"
myClient = pymongo.MongoClient(host=env('MONGO_DB_HOST'),
port=int(env('MONGO_DB_PORT')),
username=env('MONGO_DB_USER'),
password=env('MONGO_DB_PASSWORD'))
Файл добавления записей в бд
def get(self, request, **kwargs):
test_bd= utils.myClient['test_bd']
filds= test_bd['filds']
# let's create two documents
medicine_1 = {
"medicine_id": "RR000123456",
"common_name": "Paracetamol",
"scientific_name": "",
"available": "Y",
"category": "fever"
}
medicine_2 = {
"medicine_id": "RR000342522",
"common_name": "Metformin",
"scientific_name": "",
"available": "Y",
"category": "type 2 diabetes"
}
# Insert the documents
#filds.insert_many([medicine_1, medicine_2])
#count = filds.count()
return Response({"res": utils.myClient.HOST, "res1": utils.myClient.PORT, "count": utils.string_connect })
При этом сделал вывод хоста и порта (почему то они различаются) В файле с созиданием подключения к бд