sql >> Database teknologi >  >> NoSQL >> MongoDB

Få kun det sidste element af array mongoose

Du vil måske bruge mongodb (version 3.2) aggregering $slice sådan:

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

I tidligere versioner af mongodb:

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


  1. Er der mongodb C# driver support System.Dynamic.DynamicObject i .NET 4?

  2. fjern _id fra mongodb resultat java

  3. MongoDB find underdokument og sorter resultaterne

  4. mongoDB-forespørgsel, der bruger aggregat til at forespørge på den seneste dato for et element