MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Renvoie tous les champs MongoDB Aggregate

D'après votre description, il semble que vous vouliez un document pour chacun des types de pomme de votre collection et que vous affichiez le document avec le plus récent datePicked valeur.

Voici une requête agrégée pour cela :

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" } }
])

Mais d'après la requête agrégée que vous avez écrite, il semble que vous essayez d'obtenir ceci :

db.collection.find({appletype: "Granny"}).sort({datePicked: -1}).limit(1);