Функция 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')
Другие вопросы по тегам