सबसे पहले, सुनिश्चित करें कि आप सही सिंटैक्स का उपयोग कर रहे हैं। आपका पहला उदाहरण मान्य पर्ल कोड नहीं है, क्योंकि आप क्वेरी पैरामीटर के रूप में JSON का एक हिस्सा शामिल कर रहे हैं।
दूसरा, मान लें कि ये आईडी मान MongoDB ऑब्जेक्ट हैं, तो आपको उन्हें सामान्य स्ट्रिंग्स से अलग करने के लिए OID ऑब्जेक्ट बनाने की आवश्यकता होगी। और सिंगल कोट्स का उपयोग करना सुनिश्चित करें (''
) लगभग $in
. के आसपास , अन्यथा पर्ल $in
. को प्रक्षेपित करने का प्रयास करेगा एक चर के रूप में (जिसमें संभवतः इसमें कुछ भी नहीं है)।
तो मुझे लगता है कि आप कुछ ऐसा करना चाहते हैं:
$db->$collection->find( {
"_id" => {
'$in' => [ MongoDB::OID->new( value => "4f520122ecf6171327000137" ),
MongoDB::OID->new( value => "4f4f49c09d1bd90728000034" )
]
}
} );
संपादित करें:इसके अतिरिक्त, संग्रह को पुनः प्राप्त करने के लिए ऑटोलैड विधि नामों का उपयोग कुछ समय के लिए बहिष्कृत कर दिया गया है। बेहतर होगा कि आप $db->get_collection( "collection name" )->find( ... )
का प्रयोग करें।