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

MongoDB में आज से पहले एक्सपायर हुए डॉक्यूमेंट्स कैसे प्राप्त करें?

MongoDB में $lte और Date() का उपयोग करके एक्सपायर्ड डॉक्यूमेंट्स ढूंढना

वर्तमान तिथि से पहले या उसके बराबर तिथि वाले डॉक्यूमेंट्स खोजने के लिए, वर्तमान समय के साथ $lte` (कम या बराबर) ऑपरेटर का उपयोग करें।

नमूना डेटा बनाना

वर्तमान तिथि 2019-05-11 मानकर:

> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-05-11")});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd563b17924bb85b3f4893b") }
> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-01-01")});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd563bf7924bb85b3f4893c") }
> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-05-10")});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd563ca7924bb85b3f4893d") }
> db.getDocumentsExpiredDemo.insertOne({"ArrivalDate":new ISODate("2019-02-01")});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd563e77924bb85b3f4893e") }

सभी डॉक्यूमेंट्स देखना

> db.getDocumentsExpiredDemo.find().pretty();

आउटपुट:

{ "_id" : ObjectId("5cd563b17924bb85b3f4893b"), "ArrivalDate" : ISODate("2019-05-11T00:00:00Z") }
{ "_id" : ObjectId("5cd563bf7924bb85b3f4893c"), "ArrivalDate" : ISODate("2019-01-01T00:00:00Z") }
{ "_id" : ObjectId("5cd563ca7924bb85b3f4893d"), "ArrivalDate" : ISODate("2019-05-10T00:00:00Z") }
{ "_id" : ObjectId("5cd563e77924bb85b3f4893e"), "ArrivalDate" : ISODate("2019-02-01T00:00:00Z") }

आज से पहले या आज एक्सपायर हुए डॉक्यूमेंट्स के लिए क्वेरी करना

> db.getDocumentsExpiredDemo.find({ "ArrivalDate": { $lte : new Date() } });

आउटपुट (2019-05-11 को चलाया गया):

{ "_id" : ObjectId("5cd563bf7924bb85b3f4893c"), "ArrivalDate" : ISODate("2019-01-01T00:00:00Z") }
{ "_id" : ObjectId("5cd563ca7924bb85b3f4893d"), "ArrivalDate" : ISODate("2019-05-10T00:00:00Z") }
{ "_id" : ObjectId("5cd563e77924bb85b3f4893e"), "ArrivalDate" : ISODate("2019-02-01T00:00:00Z") }

व्याख्या

  • new Date() - शेल में वर्तमान दिनांक/समय लौटाता है।
  • $lte - उन डॉक्यूमेंट्स से मेल खाता है जहां ArrivalDate वर्तमान क्षण से कम या बराबर है।
  • 2019-05-11 वाला डॉक्यूमेंट शामिल नहीं है क्योंकि ISODate("2019-05-11") आधी रात (00:00:00) है, जबकि new Date() में दिन का समय शामिल होता है।

सामान्य तिथि तुलना ऑपरेटर्स

ऑपरेटरअर्थ
$ltनिर्दिष्ट तिथि से कम (सख्ती से पहले)
$lteनिर्दिष्ट तिथि से कम या बराबर
$gtनिर्दिष्ट तिथि से अधिक (सख्ती से बाद में)
$gteनिर्दिष्ट तिथि से अधिक या बराबर

बेहतर अभ्यास: तिथि सीमा क्वेरी

एक विशिष्ट दिन (पूरे दिन) के लिए, रेंज का उपयोग करें:

var start = new Date("2019-05-11T00:00:00Z");
var end = new Date("2019-05-12T00:00:00Z");
db.collection.find({ ArrivalDate: { $gte: start, $lt: end } });
  1. - MongoDB में एम्बेडेड दस्तावेजों को क्वेरी करें

    MongoDB में एम्बेडेड दस्तावेजों को क्वेरी करने के लिए, aggregate() का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo705.insertOne( { _id:101, Information: [ { StudentName:Chris, StudentAge:21 }, { StudentName:David, StudentAge:23 },

  1. - MongoDB क्वेरी: $or में मल्टीपल कंडीशन्स सेट करके दस्तावेज प्राप्त करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo711.insertOne({Name:John,Marks:75,Age:21,status:Active}); { acknowledged : true, insertedId : ObjectId(5ea85c215d33e20ed1097b7e) } > db.demo711.insertOne({Name:Chris,Marks:55,Age:22,status:Active}); { acknowledged : true, insertedId : Objec

  1. - MongoDB दस्तावेज़ों में विशिष्ट फ़ील्ड के ऐरे एलिमेंट्स काउंट करना

    किसी फ़ील्ड में ऐरे एलिमेंट्स की संख्या गिनने के लिए $size ऑपरेटर का उपयोग करें। डेमो डेटा > db.demo723.insertOne({Subject:[MySQL,MongoDB]}); > db.demo723.insertOne({Subject:[C]}); > db.demo723.insertOne({Subject:[C++,Java,Python]}); क्वेरी db.demo723.aggregate([ { $project: { count: