Aus Ihrer Beschreibung geht hervor, dass Sie ein Dokument für jede Apfelsorte in Ihrer Sammlung wünschen und das Dokument mit dem neuesten datePicked
zeigen möchten Wert.
Hier ist eine aggregierte Abfrage dafür:
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" } }
])
Aber basierend auf der von Ihnen geschriebenen aggregierten Abfrage sieht es so aus, als ob Sie versuchen, Folgendes zu erhalten:
db.collection.find({appletype: "Granny"}).sort({datePicked: -1}).limit(1);