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

MongoDB gruppiert nach eindeutiger Sortierung zusammen

Verwenden Sie besser .aggregate() um dies zu tun. Es ist auch eine direkte Methode für die Sammlungsobjekte in modernen Versionen des Treibers:

$result = $db->collection('Profit_and_loss')->aggregate(array(
    array( '$group' => array(
        '_id' => '$entity_id',
        'year' => array( '$max' => '$year' )
    ))
));

Die .distinct() Befehl läuft nur über ein einzelnes Feld. Andere Formulare erfordern, wie Sie bemerkt haben, eine JavaScript-Evaluierung und laufen erheblich langsamer als nativer Code.