Tôi cần một cách để tìm kiếm nhưng không bao gồm _id đã có trên màn hình trước mặt người dùng. Ví dụ, tôi có 3 hồ sơ vật nuôi mà người dùng đã xem.
Trên trang đó, tôi có một tiêu đề có tên là Gia đình của tôi. Sau đó, tôi chạy tìm kiếm này:
public function fetch_family($owner)
{
$collection = static::db()->mypet;
$cursor = $collection->find(array('owner' => new MongoId($owner)));
if ($cursor->count() > 0)
{
$family = array();
// iterate through the results
while($cursor->hasNext()) {
$family[] = ($cursor->getNext());
}
return $family;
}
}
Và nó trả về tất cả vật nuôi trong gia đình tôi thậm chí biết tôi đã hiển thị. Vì vậy, tôi muốn loại trừ một trong đó _id khỏi tìm kiếm.
Tôi đã nghĩ như thế này.
$cursor = $collection->find(array('owner' => new MongoId($owner), '$not'=>array('_id'=>new MongoId(INSERT ID HERE))));
Tuy nhiên, điều đó chỉ dừng toàn bộ hoạt động.
Đây là một câu hỏi hay, và tôi cần thông tin này quá, nhưng bạn có thể xem xét làm điều này ở phía khách hàng để lưu các máy chủ từ tải (rất nhỏ) xem xét các đối tượng _id? –