sql >> Database teknologi >  >> NoSQL >> MongoDB

docker-compose for at køre django med mongodb

Jeg løb ind i et lignende problem, men med en anden tjeneste (ikke MongoDB). Jeg er ikke sikker på, hvad jeg gør forkert, men sådan kunne jeg løse det:

import os
import mongoengine

MONGODB_HOST = os.environ.get('DB2_PORT_27017_TCP_ADDR', '127.0.0.1')
mongoengine.connect(host=MONGODB_HOST)
  • Med DB2 er navnet på din tjeneste i docker-compose.yml
  • 27017 være havnen for den udsatte tjeneste.
  • Mere om docker-compose miljøvariabler
  • Jeg ville sætte det i min indstillingsfil. Men du kan frit placere det, hvor du synes, det er passende afhængigt af din projektarkitektur

OPDATERING

Nu kan docker-compose containere nås af andre tjenester, der bruger et værtsnavn, der ligner deres alias. linkdokumentation :

Og på den måde kan du oprette forbindelse til MongoDB sådan her:

import mongoengine

mongoengine.connect(host="db2")


  1. Flet to array-felter i mongoDB

  2. Hvordan finder man alle datointervaller, der overlapper et andet datointerval i MongoDB?

  3. Opret mongoose model ud fra resultaterne af lean forespørgsel

  4. Mongo Java-driveren overholder ikke grænsemetoden