MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Chỉ lấy phần tử cuối cùng của mảng mongoose

Bạn có thể muốn sử dụng tổng hợp mongodb (phiên bản 3.2) $ slice như thế:

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

Trong các phiên bản trước đó của mongodb:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dừng mongodb bỏ qua các ký tự đặc biệt?

  2. Cách cập nhật giá trị mảng trong Mongoose

  3. Làm cách nào để biết mongoDB đang lưu trữ dữ liệu ở đâu? (nó không có trong mặc định / data / db!)

  4. MongoDB:chèn tài liệu với id cụ thể thay vì ObjectID được tạo tự động

  5. hoạt động đối sánh mongodb $ trong $ lookup để so sánh objectId không hoạt động như mong đợi