sql >> Databáze >  >> NoSQL >> MongoDB

Vrátit všechna pole MongoDB Aggregate

Z vašeho popisu to vypadá, že chcete jeden dokument pro každý z druhů jablek ve vaší sbírce a ukazovat dokument s nejnovějším datePicked hodnotu.

Zde je souhrnný dotaz:

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

Ale na základě souhrnného dotazu, který jste napsali, to vypadá, že se snažíte získat toto:

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



  1. Dotaz na dokument a všechny jeho vnořené dokumenty, které odpovídají podmínce v mongodb (pomocí pružiny)

  2. Předkompilovaná aktiva Heroku se nezdařila

  3. Proč jarní data mongo nevrátí pole s časem?

  4. Dobrý způsob, jak používat socket.io s clusterem na vícejádrovém serveru?