説明から、コレクション内のリンゴの種類ごとに1つのドキュメントが必要であり、最新のdatePicked
を含むドキュメントが表示されているようです。 価値。
そのための集計クエリは次のとおりです。
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" } }
])
しかし、あなたが書いた集計クエリに基づくと、これを取得しようとしているように見えます:
db.collection.find({appletype: "Granny"}).sort({datePicked: -1}).limit(1);