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

मोंगोडब, समूह द्वारा दिनांकित और घंटा प्राप्त करना

आपके प्रश्न में जो मैंने समझा है (आपको वास्तव में अपने स्कीमा के साथ कुछ दस्तावेज़ों का नमूना प्रदान करने की आवश्यकता है) यदि आपका Traitement उदाहरण के लिए मॉडल में निम्नलिखित संरचना है:

/* 0 */
{
    "_id" : 1,
    "user" : "abc",
    "dateEntre" : ISODate("2014-03-01T08:00:00.000Z"),
    "dateSortie" : ISODate("2014-03-01T13:00:00.000Z")
}

/* 1 */
{
    "_id" : 2,
    "user" : "jkl",
    "dateEntre" : ISODate("2014-03-01T08:00:00.000Z"),
    "dateSortie" : ISODate("2014-03-01T10:30:00.000Z")
}
/* 2 */
{
    "_id" : 3,
    "user" : "jkl",
    "dateEntre" : ISODate("2014-03-01T12:00:00.000Z"),
    "dateSortie" : ISODate("2014-03-01T18:00:00.000Z")
}

आपके एकत्रीकरण ढांचे में एक $project होगा पाइपलाइन संचालन जहां आपको $subtract . का उपयोग करके दो तिथियों के बीच अंतर प्राप्त होता है ऑपरेटर और फिर $divide . का उपयोग करके उस तारीख के अंतर को मिलीसेकंड में घंटों में बदल दें ऑपरेटर। आपकी पाइपलाइन में अंतिम चरण $group . का उपयोग करना होगा पिछली पाइपलाइन और $sum . से दस्तावेज़ों को समूहबद्ध करने के लिए ऑपरेटर घंटों में तारीख का अंतर:

Traitement.aggregate([ 
    { 
        $project: { 
            user: 1,             
            dateDifference: { 
                $divide: [{ 
                    $subtract: [ "$dateSortie", "$dateEntre" ]
                    }, 1000*60*60
                ] 
            }
         }
    },
    { 
        $group: { 
            _id: "$user",             
            total : { 
                $sum : "$dateDifference"
            }
        }
    } 
])

परिणाम:

/* 0 */
{
    "result" : [ 
        {
            "_id" : "jkl",
            "total" : 8.5
        }, 
        {
            "_id" : "abc",
            "total" : 5
        }
    ],
    "ok" : 1
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला में मेरी $पुश विधि ठीक काम नहीं करती है

  2. MongoDB अंतहीन खोजें ToListAsync

  3. mongoimport का उपयोग करके दिनांक-डेटाटाइप आयात करना

  4. संग्रह में सभी दस्तावेज़ों को सूचीबद्ध करने के लिए Mongoose कैसे प्राप्त करें? यह बताने के लिए कि संग्रह खाली है या नहीं?

  5. मोंगो में सॉकेट टाइमआउट अपवाद