मुख्य अंतर
| विशेषता | find() | findOne() |
|---|---|---|
| रिटर्न प्रकार | कर्सर (Cursor) | एकल दस्तावेज़ (Document) या null |
| खाली परिणाम पर | खाली कर्सर लौटाता है (null नहीं) | null लौटाता है |
| उपयोग | एकाधिक दस्तावेज़ पुनरावृत्ति के लिए | एकल दस्तावेज़ त्वरित जांच के लिए |
प्रदर्शन: खाली संग्रह पर व्यवहार
> db.createCollection('emptyCollection');
{ "ok" : 1 }
> db.emptyCollection.count();
0
findOne() के साथ जांच
> if(db.emptyCollection.findOne()){print("Returns Cursor")} else {print("Not returning cursor")}
आउटपुट:
Not returning cursor
findOne() null लौटाता है, इसलिए else ब्लॉक निष्पादित होता है।
find() के साथ जांच
> if(db.emptyCollection.find()){print("Returns Cursor")} else {print("Not returning cursor")}
आउटपुट:
Returns Cursor
find() एक कर्सर ऑब्जेक्ट लौटाता है (भले ही खाली हो), जो जावास्क्रिप्ट में truthy होता है, इसलिए if ब्लॉक निष्पादित होता है।
सारांश: जब आपको केवल पहला मिलान वाला दस्तावेज़ चाहिए या अस्तित्व की जांच करनी हो, तो findOne() का उपयोग करें। जब आपको परिणामों पर पुनरावृति करनी हो, तो find() का उपयोग करें।