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

समय श्रृंखला में मूल्य परिवर्तन का पता लगाने के लिए क्वेरी मोंगो

अंतराल का पता लगाने के लिए आपको लगातार दस्तावेज़ों के जोड़े प्राप्त करने की आवश्यकता है। उसके लिए आप सभी दस्तावेज़ों को एकल सरणी में धकेल सकते हैं, और zip इसने अपने आप सिर से 1 तत्व को स्थानांतरित कर दिया:

db.collection.aggregate([
    { $sort: { day: 1 } },
    { $group: { _id: null, docs: { $push: "$$ROOT" } } },
    { $project: {
        pair: { $zip: {
            inputs:[ { $concatArrays: [ [false], "$docs" ] }, "$docs" ]            
        } }
    } },
    { $unwind: "$pair" },
    { $project: {
        prev: { $arrayElemAt: [ "$pair", 0 ] },
        next: { $arrayElemAt: [ "$pair", 1 ] }
    } },
    { $match: {
         $expr: { $ne: ["$prev.value", "$next.value"] } 
    } },
    { $replaceRoot:{ newRoot: "$next" } }
])

बाकी मामूली है - आप दस्तावेज़ों में वापस सरणी खोल सकते हैं, जोड़ियों की तुलना कर सकते हैं, बराबर वाले को फ़िल्टर कर सकते हैं, और रूट को बदलें जो बचा है उसमें से।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. दिनांक फ़ील्ड के साथ ToSet कैसे जोड़ें

  2. Node.js . में MongoDB एकत्रीकरण कैसे करें

  3. MongoEngine का उपयोग करके क्रमबद्ध करें?

  4. MongoError:सर्वर से कनेक्ट करने में विफल [लोकलहोस्ट:27017] पहले कनेक्ट पर

  5. क्या गतिशील रूप से नामित मोंगोडीबी संग्रह उत्पन्न करना संभव है?