Функция Django для возврата результата агрегатного конвейера MongoDB
Буду очень признателен, если кто-нибудь сможет мне помочь с этим. Мне нужна функция Django (Python) для вставки некоторых параметров в конвейерный скрипт, передачи его в MongoDB Atlas и получения результата в курсоре.
from bson import ObjectId
import pymongo
conn = "connection string"
client = pymongo.MongoClient(conn)
pipeline = [
<<pipeline script>>
]
out = client.db.mycollection.aggregate(pipeline)
1 ответ
Решение
Если вы используете Djongo для подключения Django ORM к MongoDB, вы можете использовать предоставленный DjongoManager в качестве менеджера для вашей Модели и использовать функции PyMongo, используя mongo_
префикс. Вот быстрый пример:
models.py
from djongo import models
class Message(models.Model):
text = models.CharField(max_length=150)
objects = models.DjongoManager()
Затем в оболочке вы можете сделать что-то вроде:
>>> from core.models import *
>>> cursor = Message.objects.mongo_aggregate('pipeline')