se agrega endpoint que consulta db mongo
parent
836a81b81e
commit
5dc46f7087
|
@ -5,3 +5,5 @@ DBUSER=postgres
|
||||||
DBPASS=password
|
DBPASS=password
|
||||||
DBSCHEMA=desarrollo1
|
DBSCHEMA=desarrollo1
|
||||||
SECRET_JWT="mB&2CH0fy7#Zb4T%o661eFn5"
|
SECRET_JWT="mB&2CH0fy7#Zb4T%o661eFn5"
|
||||||
|
MONGO_HOST="mongodb://root:password@dbmongo:27017"
|
||||||
|
MONGO_DB=auditoria
|
|
@ -37,5 +37,17 @@ services:
|
||||||
ADMINER_DEFAULT_PASSWORD: password
|
ADMINER_DEFAULT_PASSWORD: password
|
||||||
ADMINER_DESIGN: lucas-sandery
|
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:
|
volumes:
|
||||||
db:
|
db:
|
||||||
|
mongo:
|
||||||
|
|
|
@ -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)
|
|
@ -1,6 +1,7 @@
|
||||||
from django.urls import path, include
|
from django.urls import path, include
|
||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
from api import views
|
from api import views
|
||||||
|
from .mongo import prueba_mongo
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
router.register(r'projects', views.ProjectViewSet)
|
router.register(r'projects', views.ProjectViewSet)
|
||||||
|
@ -11,4 +12,5 @@ router.register(r'auth', views.AuthViewSet, basename='auth')
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('', include(router.urls)),
|
path('', include(router.urls)),
|
||||||
|
path(r'productos-mongo/', prueba_mongo),
|
||||||
]
|
]
|
|
@ -1,5 +1,4 @@
|
||||||
# models
|
# models
|
||||||
from http.client import HTTPResponse
|
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from .models import Project, Agency, Route
|
from .models import Project, Agency, Route
|
||||||
# serializers
|
# serializers
|
||||||
|
|
|
@ -8,6 +8,7 @@
|
||||||
* **coreapi**: genera documentación de rest api
|
* **coreapi**: genera documentación de rest api
|
||||||
* **python-decouple**: lee archivo .env para variables de ambiente
|
* **python-decouple**: lee archivo .env para variables de ambiente
|
||||||
* **PyJWT**: permite generar json-web-token
|
* **PyJWT**: permite generar json-web-token
|
||||||
|
* **pymongo**: permite conectarse a base datos mongo
|
||||||
|
|
||||||
|
|
||||||
# Docker
|
# Docker
|
||||||
|
|
|
@ -5,3 +5,4 @@ django-cors-headers
|
||||||
coreapi
|
coreapi
|
||||||
python-decouple
|
python-decouple
|
||||||
PyJWT
|
PyJWT
|
||||||
|
pymongo
|
Loading…
Reference in New Issue