MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Flask-MongoEngine- und PyMongo-Aggregationsabfrage

Die Klasse, die Sie mit Mongoengine definieren, hat tatsächlich eine _get_collection() Methode, die das "rohe" Sammlungsobjekt erhält, wie es im Pymongo-Treiber implementiert ist.

Ich verwende nur den Namen Model hier als Platzhalter für Ihre tatsächliche Klasse, die für die Verbindung in diesem Beispiel definiert ist:

Model._get_collection().aggregate([
    { '$group' : 
        { '_id' : { 'carrier' : '$carrierA', 'category' : '$category' }, 
          'count' : { '$sum' : 1 }
        }
    }
])

Sie können also immer auf die pymongo-Objekte zugreifen, ohne eine separate Verbindung aufzubauen. Mongoengine selbst baut auf Pymongo auf.