मेरा अनुमान है कि sys.inspect
एक ObjectId
की व्याख्या करता है एक ऑब्जेक्ट के रूप में जिसमें एक id
. है संपत्ति। यही आप डंप में देख रहे हैं।
MongoDB ObjectId को 12-बाइट बाइनरी मान के रूप में मानता है, ऑब्जेक्ट के रूप में नहीं। तो MongoDB किसी id
. के बारे में नहीं जानता है संपत्ति। इसलिए निम्न क्वेरी से कोई परिणाम नहीं निकलता है:
findOne({_id: {id: item._id.id}}, collection)
निम्नलिखित काम करता है, क्योंकि यह दोनों मानों को बाइनरी मान के रूप में मानता है:
findOne({_id: item._id}, collection)