sql >> Base de Datos >  >> NoSQL >> MongoDB

consulta mongoDB usando agregado para consultar la fecha más reciente de un elemento

Primero lo primero :-)

  1. usa $match como primera canalización en consulta para aumentar la velocidad de procesamiento (menos datos para procesar)

  2. en $group puedes usar $min - no se necesita ordenar velocidad :-)

Entonces la consulta se verá así:

db.wab.aggregate([{
            $match : {
                vendor_name : {
                    $in : ["test1", "test2"]
                },
                category : 'Fruit'
            }
        }, {
            $group : {
                _id : {
                    vendor_name : "$vendor_name",
                    product_name : "$product_name"
                },
                business_date : {
                    $min : "$business_date"
                }
            }
        }
    ])