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

एकत्रित डेटा के लिए MongoDB सही स्कीमा

इस स्कीमा का पालन करने के लिए विधि 2 में स्कीमा को और पुनर्गठित करने की अनुशंसा करेंगे:

/* 0 */
{
    "_id" : ObjectId("5577fd322ab13c8cacdd0e70"),
    "order_id" : "VjprK",
    "user_id" : "777",
    "data" : [ 
        {
            "order_date" : ISODate("2015-04-18T08:57:42.514Z"),
            "amount" : 100
        }, 
        {
            "order_date" : ISODate("2015-04-19T08:57:42.514Z"),
            "amount" : 200
        }, 
        {
            "order_date" : ISODate("2015-04-20T08:57:42.514Z"),
            "amount" : 300
        }, 
        {
            "order_date" : ISODate("2015-04-21T08:57:42.514Z"),
            "amount" : 400
        }
    ]
}

जिसे आप किसी दी गई दिनांक सीमा के साथ जोड़ सकते हैं, जैसे 2015-04-18 करने के लिए 2015-04-19 . निम्नलिखित पाइपलाइन पर विचार करें:

var start = new Date(2015, 3, 18),
    end = new Date(2015, 3, 20);

db.orders.aggregate([
    {
        "$match": {
            "user_id": "777",
            "data.order_date": {
                "$gte": start,
                "$lt": end
            }
        }
    },
    {
        "$unwind": "$data"
    },
    {
        "$match": {
            "data.order_date": {
                "$gte": start,
                "$lt": end
            }
        }
    },
    {
        "$group": {
            "_id": "$user_id",
            "total": {
                "$sum": "$data.amount"
            }
        }
    }    
])

नमूना आउटपुट

/* 0 */
{
    "result" : [ 
        {
            "_id" : "777",
            "total" : 300
        }
    ],
    "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडीबी के लाभ | मोंगोडीबी के नुकसान

  2. नेवला का उपयोग करके सूचकांक कैसे छोड़ें

  3. Meteor.js . के साथ कई Mongodb डेटाबेस का उपयोग करना

  4. MongoDB 3.0 जावा ड्राइवर के साथ परिणामों की गणना करें

  5. स्ट्रिंग को मोंगोडब में आज तक कनवर्ट करना