sql >> Databasteknik >  >> NoSQL >> MongoDB

Få bara det sista elementet av array mongoose

Du kanske vill använda mongodb (version 3.2) aggregering $slice sådär:

Post.aggregate([
  { 
    $match: { 
      '_id.$oid': postId 
    }
  },
  { 
    $project: {
      comments: {
        $slice: [ "$comments", -1 ] 
      }
    }
  }
]);

I tidigare versioner av mongodb:

Post.aggregate([
  { 
    $match: { 
      '_id.$oid': postId 
    }
  },
  { 
    $unwind: "$comments"
  },
  {
    $group : {
      _id: "$_id.$oid",
      comment: { $last: "$comments" }
    }
  }
]);


  1. MongoParseError:URI har inte värdnamn, domännamn och tld

  2. JavaScript tilldelar inte ett element till objektet

  3. MongoDB Uppdatera en kapslad array

  4. plocka vs distinkt i mongoid db. vilket är snabbare?