MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

$in mongoDB ऑपरेटर पर्ल में _id के साथ

सबसे पहले, सुनिश्चित करें कि आप सही सिंटैक्स का उपयोग कर रहे हैं। आपका पहला उदाहरण मान्य पर्ल कोड नहीं है, क्योंकि आप क्वेरी पैरामीटर के रूप में 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( ... ) का प्रयोग करें।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB में कैशिंग दोहराए जाने वाले क्वेरी परिणाम

  2. MongoDB में उपयोगकर्ता कैसे बनाएं

  3. नेवला में, मैं तिथि के अनुसार कैसे छाँटूँ? (नोड.जेएस)

  4. MeteorJS में MongoDB एग्रीगेट और ग्रुपिंग इश्यू

  5. वेब एप्लिकेशन के लिए MongoDB संग्रह पर अनुक्रमणिका बनाने का अनुशंसित तरीका/स्थान