Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में सभी संग्रहों पर लूप चलाकर क्वेरी कैसे निष्पादित करें?


सभी संग्रहों पर पुनरावृत्ति

सभी संग्रह नाम प्राप्त करने के लिए getCollectionNames() का उपयोग करें, फिर प्रत्येक पर लूप चलाकर वांछित क्वेरी निष्पादित करें।

उदाहरण: प्रत्येक संग्रह से नवीनतम दस्तावेज़ का टाइमस्टैम्प प्राप्त करना

डेटाबेस नाम "test" है। निम्न क्वेरी प्रत्येक संग्रह में सबसे हालिया दस्तावेज़ (अवरोही _id क्रम के आधार पर) ढूंढती है और उसका टाइमस्टैम्प प्रिंट करती है।

> db.getCollectionNames().forEach(function(collectionNameDemo) { 
    var nextDemo = db[collectionNameDemo].find().sort({_id:-1}).limit(1); 
    if (nextDemo.hasNext()) { 
        printjson(nextDemo.next()._id.getTimestamp()); 
    } 
});

नमूना आउटपुट

ISODate("2019-02-21T18:52:43Z")
ISODate("2019-03-19T17:49:00Z")
ISODate("2019-03-06T15:40:12Z")
ISODate("2019-03-15T16:31:50Z")
ISODate("2019-02-21T15:40:52Z")
... (अन्य टाइमस्टैम्प)

व्याख्या:

  • db.getCollectionNames(): वर्तमान डेटाबेस में सभी संग्रह नामों की सरणी लौटाता है।
  • forEach: प्रत्येक संग्रह नाम पर पुनरावृत्त करता है।
  • db[collectionNameDemo]: संग्रह नाम को वेरिएबल के रूप में एक्सेस करता है।
  • .sort({_id:-1}).limit(1): _id के अवरोही क्रम में पहला दस्तावेज़ (सबसे हालिया) प्राप्त करता है।
  • _id.getTimestamp(): ObjectId में एम्बेडेड टाइमस्टैम्प निकालता है।

उपयोग का मामला: यह पैटर्न रखरखाव कार्यों, ऑडिटिंग, या सभी संग्रहों पर एक समान ऑपरेशन करने के लिए उपयोगी है।

  1. - MongoDB में संग्रहीत फंक्शन कैसे निष्पादित करें?

    MongoDB जावास्क्रिप्ट फंक्शन्स को system.js सिस्टम संग्रह में संग्रहीत करने की अनुमति देता है। उन्हें db.eval() (निरस्त) के साथ निष्पादित किया जा सकता है या एप्लिकेशन कोड में लोड किया जा सकता है। नोट: db.eval MongoDB 4.4+ में निरस्त है और हटा दिया गया है; सर्वर-साइड JS निष्पादन से बचें। फंक्शन संग्

  1. - MongoDB क्वेरी: फाइल नाम और लोकेशन कैसे स्टोर करें?

    स्टोर करने के लिए, आइए एक उदाहरण देखते हैं और दस्तावेज़ों के साथ एक कलेक्शन बनाते हैं: नमूना डेटा बनाना (फाइल नाम और लोकेशन) db.demo645.insertOne( { fileName : Script.sql, fileLocation:C:/MySQLQuery/Script.sql } ); सभी दस्तावेज़ देखना db.demo645.find(); { fileName : MongoDB Program, fileLoca

  1. - MongoDB क्वेरी: डिस्टिंक्ट सेलेक्ट करें और काउंट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo586.insertOne({ details: [ { Name:Chris, Marks:71 }, { Name:Chris, Marks:61 }, { Name:David, Marks:81 } ] }); { acknowledged : true, insertedId : ObjectId(5e9200fefd2d90c177b5bcc7) } > db.demo586.insertOne({