MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

consulta mongoDB usando agregação para consultar a data mais recente de um item


Primeiras coisas primeiro :-)

  1. use $match como um primeiro pipeline na consulta para aumentar a velocidade de processamento (menos dados para processar)

  2. em $group você pode usar $min - não é necessário classificar velocidade :-)

Então a consulta ficará assim:
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"
                }
            }
        }
    ])