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

MongoDB क्वेरी: ISODate फॉर्मेट में डेट रिकॉर्ड्स को रेंज में कैसे प्राप्त करें

$redact और $hour ऑपरेटर से घंटे की रेंज द्वारा फ़िल्टर करें

MongoDB एग्रीगेशन में $redact स्टेज का उपयोग करके डॉक्यूमेंट्स को फ़िल्टर करें जहां डेट फ़ील्ड का घंटा (hour) एक विशिष्ट रेंज में हो।

उदाहरण: संग्रह बनाना

> db.demo178.insertOne({"DueDate": new ISODate("2019-01-10T06:18:20.474Z")});
{ "acknowledged": true, "insertedId": ObjectId("5e397bd89e4f06af551997f5") }
> db.demo178.insertOne({"DueDate": new ISODate("2020-11-10T18:05:11.474Z")});
{ "acknowledged": true, "insertedId": ObjectId("5e397bf39e4f06af551997f6") }
> db.demo178.insertOne({"DueDate": new ISODate("2020-03-15T07:05:10.474Z")});
{ "acknowledged": true, "insertedId": ObjectId("5e397c039e4f06af551997f7") }
> db.demo178.insertOne({"DueDate": new ISODate("2020-06-11T16:05:10.474Z")});
{ "acknowledged": true, "insertedId": ObjectId("5e397c0f9e4f06af551997f8") }

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

> db.demo178.find();
{ "_id": ObjectId("5e397bd89e4f06af551997f5"), "DueDate": ISODate("2019-01-10T06:18:20.474Z") }
{ "_id": ObjectId("5e397bf39e4f06af551997f6"), "DueDate": ISODate("2020-11-10T18:05:11.474Z") }
{ "_id": ObjectId("5e397c039e4f06af551997f7"), "DueDate": ISODate("2020-03-15T07:05:10.474Z") }
{ "_id": ObjectId("5e397c0f9e4f06af551997f8"), "DueDate": ISODate("2020-06-11T16:05:10.474Z") }

घंटे की रेंज (5 से 9) में डेट रिकॉर्ड्स प्राप्त करने की क्वेरी

> db.demo178.aggregate([{
    "$redact": {
        "$cond": {
            "if": {
                "$and": [
                    { "$gt": [{ "$hour": "$DueDate" }, 5] },
                    { "$lt": [{ "$hour": "$DueDate" }, 9] }
                ]
            },
            "then": "$$KEEP",
            "else": "$$PRUNE"
        }
    }
}])

आउटपुट:

{ "_id": ObjectId("5e397bd89e4f06af551997f5"), "DueDate": ISODate("2019-01-10T06:18:20.474Z") }
{ "_id": ObjectId("5e397c039e4f06af551997f7"), "DueDate": ISODate("2020-03-15T07:05:10.474Z") }

केवल वे डॉक्यूमेंट्स लौटाए गए जिनका घंटा 6 और 7 है (यानी 5 से बड़ा और 9 से छोटा)।

नोट: $redact डॉक्यूमेंट को प्रून (छाँट) करता है। सरल रेंज क्वेरी के लिए $match के साथ $gte/$lt ISODate स्ट्रिंग्स पर अधिक कुशल होते हैं।

  1. - MongoDB में डेट के आधार पर क्वेरी कैसे लौटाएं?

    MongoDB में डेट के आधार पर क्वेरी लौटाने के लिए, एक उदाहरण लेते हैं। कॉन्सेप्ट समझने के लिए, एक दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है: > db.returnQueryFromDate.insertOne({PassengerName:John,PassengerAge:23,PassengerArrivalTime:new ISODate(2018

  1. - MongoDB में दिए गए की वाले रिकॉर्ड कैसे चुनें?

    दिए गए की वाले रिकॉर्ड चुनने के लिए, आप $exists ऑपरेटर का उपयोग कर सकते हैं। सिंटैक्स इस प्रकार है: db.yourCollectionName.find( { yourFieldName: { $exists : true } } ).pretty(); उपरोक्त सिंटैक्स को समझने के लिए, एक दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्र

  1. MongoDB में Date / ISODate के घटक कैसे प्राप्त करें? MongoDB में Date / ISODate के घटक कैसे प्राप्त करें?

    MongoDB में Date/ISODate के घटक प्राप्त करना MongoDB में Date/ISODate के घटक प्राप्त करने के लिए, आइए कलेक्शन में दिनांक के साथ एक दस्तावेज़ बनाते हैं। अब MongoDB में Date/ISODate के घटक प्राप्त करते हैं: > db.componentOfDateDemo.insert({ShippingDate:new Date()}); WriteResult({ nInserted : 1 })