sql >> Databasteknik >  >> NoSQL >> MongoDB

Returnera alla fält MongoDB Aggregate

Från din beskrivning låter det som att du vill ha ett dokument för varje typ av äpple i din samling och visa dokumentet med den senaste datePicked värde.

Här är en samlad fråga för det:

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

Men baserat på den samlade frågan du har skrivit, ser det ut som att du försöker få det här:

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



  1. Mongoose upsert duplicate key error

  2. MongoDB räkna distinkt värde?

  3. Mongo-aggregation:uppdelning av värden i grupper

  4. Hur använder man Redis i ett C++-program?