Como posso obter os valores mais baixos em uma coleção do MongoDB?

Eu tenho uma coleção do MongoDB chamada product que possui os seguintes documentos, como mostrado abaixo.

{
    "product" : "Milk",
    "barcode" : 12345,
    "price" : 100,
    "store" : "BestBuy"
},
{
    "product" : "Milk",
    "barcode" : 12345,
    "price" : 100,
    "store" : "WalMart"
},
{
    "product" : "Milk",
    "barcode" : 12345,
    "price" : 130,
    "store" : "Target"
},
{
    "product" : "Milk",
    "barcode" : 12345,
    "price" : 500,
    "store" : "Game"
}

Desejo consultar a coleção e devolver apenas documentos com o menor preço, por exemplo

{ 
    product: "Milk",
    barcode: 12345, 
    price: 100, 
    store: "BestBuy"
}
{ 
    product: "Milk",
    barcode: 12345, 
    price: 100,
    store: "WalMart"
}

Mas quando executo minha consulta de agregação:

db.test.aggregate([{$match:{barcode:1234}},{$group: {_id:"$name", price:  {$min:"$price"} } }])

Ele retorna apenas um documento.

questionAnswers(1)

yourAnswerToTheQuestion