MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Върнете всички полета MongoDB Aggregate

От описанието ви изглежда, че искате по един документ за всеки от видовете ябълки във вашата колекция и показване на документа с най-новата 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);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как да актуализирате MongoDB документи с масиви от поддокументи

  2. Възел - Mongoose 3.6 - Заявка за сортиране с попълнено поле

  3. Коригирайте „дължина/ширина е извън границите“ в MongoDB при създаване на индекс на 2dsphere

  4. MongoDB сортиране

  5. Как да направя заявка NOT IN в Mongo?