MongoDB में $in ऑपरेटर के साथ _id द्वारा डॉक्यूमेंट्स प्राप्त करना
कलेक्शन से _id द्वारा डॉक्यूमेंट प्राप्त करने के लिए find() के साथ $in का उपयोग करें।
कलेक्शन बनाना
> db.demo281.insertOne({"Name":"Chris","Age":21});
{ "acknowledged": true, "insertedId": ObjectId("5e4aac28dd099650a5401a66") }
> db.demo281.insertOne({"Name":"Bob","Age":23});
{ "acknowledged": true, "insertedId": ObjectId("5e4aac46dd099650a5401a67") }
> db.demo281.insertOne({"Name":"David","Age":28});
{ "acknowledged": true, "insertedId": ObjectId("5e4aac4fdd099650a5401a68") }
सभी डॉक्यूमेंट्स
> db.demo281.find();
विशिष्ट _id द्वारा डॉक्यूमेंट्स प्राप्त करने की क्वेरी
>db.demo281.find({_id:{$in:[ObjectId("5e4aac28dd099650a5401a66"),ObjectId("5e4aac46dd099650a5401a67")]}});परिणाम
व्याख्या
- $in: निर्दिष्ट ऐरे में किसी भी मान से मेल खाता है
- ObjectId(): स्ट्रिंग से ObjectId ऑब्जेक्ट बनाता है (शेल में)
- दो _id मान प्रदान किए गए: Chris और Bob के
- David का _id सूची में नहीं था, इसलिए बाहर रहा
वैकल्पिक दृष्टिकोण
new ObjectId(id));
db.collection.find({ _id: { $in: ids } }).toArray()
ObjectId स्ट्रिंग्स को ड्राइवर में उचित प्रकार में बदलना याद रखें।