MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Mongodb . में महीने और साल की सीमा के अनुसार कैसे फ़िल्टर करें

मैंने इसे स्वयं प्राप्त किया:

db.bills.aggregate([
{
    $match: {
        $expr: {
            $or: [
                {
                    $and: [
                        {$eq: ["$year", FROMYEAR]},
                        {$eq: ["$year", TOYEAR]},
                        {$gte: ["$month", FROMMONTH},
                        {$lte: ["$month", TOMONTH},
                    ]
                },
                {
                    $and: [
                        {$eq: ["$year", FROMYEAR]},
                        {$lt: ["$year", TOYEAR]},
                        {$gte: ["$month", FROMMONTH]}
                    ]
                },
                {
                    $and: [
                        {$gt: ["$year", FROMYEAR]},
                        {$eq: ["$year", TOYEAR]},
                        {$lte: ["$month", TOMONTH]}
                    ]
                },
                {
                    $and: [
                        {$gt: ["$year", FROMYEAR]},
                        {$lt: ["$year", TOYEAR]}
                    ]
                }
            ]
        }
    }
},
{
    $project: {
        "id": 1,
        "month": 1,
        "year": 1,
        "_id": 0
    }
},
,
{
    $sort: {
        "year": 1,
        "month": 1
    }
}
]).toArray()

सबसे पहले क्वेरी से वर्ष, माह से वर्ष, से माह तक निकालना है। अगला इसे क्वेरी में संबंधित स्थिति में सेट करना है। मिलान करने के लिए 4 श्रेणियां हैं:

MinYear = $year = MaxYear ==========> MinMonth < $month < MaxMonth
MinYear = $year < MaxYear ==========> MinMonth <= $month
MinYear < $year = MaxYear ==========> $month <= MaxMonth
MinYear < $year < MaxYear ==========> any $month

परिणाम निम्न जैसा दिखता है:

[
    {
        "id" : "BI_0010",
        "month" : 5,
        "year" : 2017
    },
    {
        "id" : "BI_0008",
        "month" : 3,
        "year" : 2018
    },
    {
        "id" : "BI_0001",
        "month" : 8,
        "year" : 2018
    }
]


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. उस क्रम को संशोधित करें जिसमें MongoDB में गुण प्रदर्शित होते हैं

  2. टिप्पणी प्रपत्र और संबंधित एपीआई समापन बिंदु को सुरक्षित करते समय, इनपुट को ब्राउज़र, सर्वर या दोनों में स्वच्छ, मान्य और एन्कोड किया जाना चाहिए?

  3. एक ही संग्रह के सभी दस्तावेज़ों से सरणी के ऑब्जेक्ट में मौजूद आईडी के आधार पर फ़िल्टरिंग सूची के लिए MongoDb एकत्रीकरण

  4. MongoDB EC2 उदाहरण से कैसे कनेक्ट करें

  5. पिछले 24 घंटों में बनाए गए पदों के लिए तिथि पर प्रश्न