getCollectionNames() ব্যবহার করে লুপ
প্রথমে getCollectionNames() দিয়ে সব কলেকশনের নাম পাওয়া যায়, তারপর forEach দিয়ে প্রতিটি কলেকশনে কুয়েরি চালানো যায়।
উদাহরণ: প্রতিটি কলেকশনের লেটেস্ট ডকুমেন্টের টাইমস্ট্যাম্প পাওয়া
> db.getCollectionNames().forEach(function(collectionName) {
var latestDoc = db[collectionName].find().sort({_id: -1}).limit(1);
if (latestDoc.hasNext()) {
printjson(latestDoc.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")
... (অন্যান্য টাইমস্ট্যাম্প)
ব্যাখ্যা
db[collectionName]- ডাইনামিক্যালি কলেকশন এক্সেস.sort({_id: -1})- _id অনুযায়ী ডিসেন্ডিং সোর্ট (নতুনতম প্রথম).limit(1)- শুধু প্রথম ডকুমেন্ট নেওয়া_id.getTimestamp()- ObjectId থেকে তৈরির সময় বের করা
ব্যবহারিক於: এই প্যাটার্নটি ব্যবহার করে আপনি সব কলেকশনে রক্ষণাবেক্ষণ কাজ, অডিটিং, বা রিপোর্টিং অটোমেট করতে পারেন।