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

Retornar todos os campos MongoDB Aggregate


Pela sua descrição, parece que você quer um documento para cada um dos tipos de maçã em sua coleção e mostra o documento com o datePicked mais recente valor.

Aqui está uma consulta agregada para isso:
db.collection.aggregate([
  { $sort: { "datePicked": -1 },
  { $group: { _id: "$appletype", color: { $first: "$color" }, datePicked: { $first: "$datePicked" }, dateRipe: { $first: "$dateRipe" }, numPicked: { $first: "$numPicked" } } },
  { $project: { _id: 0, color: 1, datePicked: 1, dateRipe: 1, numPicked: 1, appletype: "$_id" } }
])

Mas, com base na consulta agregada que você escreveu, parece que você está tentando obter isso:
db.collection.find({appletype: "Granny"}).sort({datePicked: -1}).limit(1);