MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Alle Felder zurückgeben MongoDB Aggregate

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);