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

Mongodb के साथ अंतिम X मिनट डेटा प्राप्त करने की क्वेरी

18 मिनट के भाग के लिए, यह वास्तव में MongoDB के बारे में नहीं है, बल्कि जावास्क्रिप्ट के बारे में है और मोंगो शेल में क्या उपलब्ध है:

query = {
    timestamp: { // 18 minutes ago (from now)
        $gt: new Date(ISODate().getTime() - 1000 * 60 * 18)
    }
}

मोंगो शेल में काम करता है, लेकिन अन्य भाषाओं के लिए मोंगो ड्राइवरों का उपयोग करना वास्तव में अलग होगा।

मान और टाइमस्टैम्प दोनों के साथ एक छोटे स्कीमा पर "प्रोजेक्ट" करने के लिए:

projection = {
    _id: 0,
    value: 1,
    timestamp: 1,
}

दोनों को लागू करना:

db.mycol.find(query, projection).sort({timestamp: 1});

खैर, यह अभी भी "सेट" नहीं है क्योंकि डुप्लिकेट हो सकते हैं। इनसे छुटकारा पाने के लिए आप $group . का उपयोग कर सकते हैं एकत्रीकरण ढांचे से:

db.mycol.aggregate([
    {$match: query},
    {$group: {
        _id: {
            value: "$value",
            timestamp: "$timestamp",
        }
    }},
    {$project: {
        value: "$_id.value",
        timestamp: "$_id.timestamp",
    }},
    {$sort: {timestamp: 1}},
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB लुकअप जब विदेशी क्षेत्र वस्तुओं की एक सरणी है

  2. क्या मुझे जेडब्ल्यूटी टोकन को रेडिस में स्टोर करना चाहिए?

  3. किसी सरणी से डुप्लिकेट प्रविष्टियों को कैसे हटाएं?

  4. स्प्रिंग डेटा मोंगोडब - 'कर्सर' विकल्प की आवश्यकता है

  5. नेवला का उपयोग करके मोंगोडब में संग्रह के लिए समाप्ति समय निर्धारित करना