नेवला का findById
विधि id
को कास्ट करती है मॉडल के प्रकार के लिए पैरामीटर _id
फ़ील्ड ताकि यह मेल खाने वाले दस्तावेज़ के लिए ठीक से क्वेरी कर सके। यह एक ऑब्जेक्ट आईडी है लेकिन "foo"
मान्य ऑब्जेक्ट आईडी नहीं है इसलिए कास्ट विफल हो जाता है।
41224d776a326fb40f000001
के साथ ऐसा नहीं होता है क्योंकि वह स्ट्रिंग एक मान्य ऑब्जेक्ट आईडी है।
इसका समाधान करने का एक तरीका यह है कि आप अपने findById
. से पहले एक चेक जोड़ दें यह देखने के लिए कॉल करें कि क्या id
एक वैध ऑब्जेक्ट आईडी है या ऐसा नहीं है:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}