Функция Django для возврата результата агрегатного конвейера MongoDB - PullRequest
0 голосов
/ 12 октября 2018

Буду очень признателен, если кто-нибудь сможет мне помочь с этим.Мне нужна функция 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 Ответ

0 голосов
/ 15 октября 2018

Если вы используете 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')
...