se agrega endpoint que consulta db mongo

francisco/prueba1
Francisco Sandoval 2023-06-13 21:57:23 -04:00
parent 836a81b81e
commit 5dc46f7087
7 changed files with 41 additions and 3 deletions

View File

@ -4,4 +4,6 @@ DBNAME=database
DBUSER=postgres
DBPASS=password
DBSCHEMA=desarrollo1
SECRET_JWT="mB&2CH0fy7#Zb4T%o661eFn5"
SECRET_JWT="mB&2CH0fy7#Zb4T%o661eFn5"
MONGO_HOST="mongodb://root:password@dbmongo:27017"
MONGO_DB=auditoria

View File

@ -37,5 +37,17 @@ services:
ADMINER_DEFAULT_PASSWORD: password
ADMINER_DESIGN: lucas-sandery
dbmongo:
image: mongo:4.2.24-bionic
restart: unless-stopped
ports:
- 27017:27017
volumes:
- mongo:/data/db
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: password
volumes:
db:
mongo:

View File

@ -0,0 +1,21 @@
from decouple import config
from django.http import JsonResponse
from rest_framework.response import Response
import pymongo
connection_string = config('MONGO_HOST');
client = pymongo.MongoClient(connection_string)
dbname = client[config('MONGO_DB')]
def prueba_mongo(request):
collection_name = dbname['productos']
productos = collection_name.find({})
data = []
for r in productos:
data.append({
'id': str(r['_id']),
'codigo': r['codigo'],
'nombre': r['nombre'],
})
return JsonResponse(data, safe=False)

View File

@ -1,6 +1,7 @@
from django.urls import path, include
from rest_framework import routers
from api import views
from .mongo import prueba_mongo
router = routers.DefaultRouter()
router.register(r'projects', views.ProjectViewSet)
@ -11,4 +12,5 @@ router.register(r'auth', views.AuthViewSet, basename='auth')
urlpatterns = [
path('', include(router.urls)),
path(r'productos-mongo/', prueba_mongo),
]

View File

@ -1,5 +1,4 @@
# models
from http.client import HTTPResponse
from django.contrib.auth.models import User
from .models import Project, Agency, Route
# serializers

View File

@ -8,6 +8,7 @@
* **coreapi**: genera documentación de rest api
* **python-decouple**: lee archivo .env para variables de ambiente
* **PyJWT**: permite generar json-web-token
* **pymongo**: permite conectarse a base datos mongo
# Docker

View File

@ -4,4 +4,5 @@ djangorestframework
django-cors-headers
coreapi
python-decouple
PyJWT
PyJWT
pymongo