मुझे खोजने के लिए एक तरीका चाहिए लेकिन उपयोगकर्ता के सामने स्क्रीन पर पहले से मौजूद _id शामिल नहीं है। उदाहरण के लिए, मेरे पास 3 पालतू प्रोफाइल हैं जो उपयोगकर्ता पहले ही देख रहा है।
उस पृष्ठ पर मेरे पास माई फैमिली नामक एक शीर्षक है। मैं तो यह खोज चलाएँ:
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;
}
}
और यह मेरे परिवार में सभी पालतू जानवरों रिटर्न भी जानने मैं पहले से ही एक दिखा रहा हूँ। तो मैं खोज से उस _id को बाहर करना चाहता हूं।
मैंने ऐसा कुछ सोचा।
$cursor = $collection->find(array('owner' => new MongoId($owner), '$not'=>array('_id'=>new MongoId(INSERT ID HERE))));
हालांकि, यह पूरी चीज़ को चलने से रोकता है।
यह एक अच्छा सवाल है, और मैं की जरूरत यह जानकारी भी है, लेकिन आप ऑब्जेक्ट _id पर विचार करने के सर्वर को (बहुत छोटे) लोड से बचाने के लिए क्लाइंट पक्ष पर ऐसा करने पर विचार कर सकते हैं? –