Để xóa một phần tử khỏi một mảng, bạn sử dụng $pull
nhà điều hành. Điều này cần một biểu thức "truy vấn" để xác định phần tử bạn muốn xóa:
$collection->update(
array("_id" => $_GET['post']),
array( '$pull' =>
array(
"comments" => array(
"_id" => new MongoId( $_GET['id'] )
)
)
)
);
Phần "truy vấn" của $pull
hành động trên các phần tử riêng lẻ của mảng được chỉ định, vì vậy bất kỳ thứ gì phù hợp với điều kiện sẽ bị xóa khỏi mảng. Nhưng điều quan trọng nữa là tham số yêu cầu của bạn là một "chuỗi", vì vậy bạn cần truyền nó dưới dạng một ObjectId
thực tế giá trị mà bạn có thể truyền trong PHP với MongoId
lớp từ trình điều khiển.