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

मोंगोडब को कैसे समूहित करें - नक्शा आउटपुट को कम करें?

इसे आजमाएं,

db.order.mapReduce(function() { emit (this.customer,{count:1,orderDate:this.orderDate.interval_start}) },
function(key,values){ 
var category; // add this new field
var sum =0 ; var lastOrderDate;  
values.forEach(function(value) {
 if(value['orderDate']){ 
    lastOrderDate=value['orderDate'];
}  
sum+=value['count'];
}); 
// at this point you are already aware in which category your records lies , just add a new field to mark it
 if(sum < 5){ category: userLessThan5};
 if(sum >= 5 && sum <=10){ category: user5to10};
 if(sum <= 10 && sum >= 15){ category: user10to15};
 if(sum <= 15 && sum >=20){ category: user15to20};
  ....
return {count:sum,lastOrderDate:lastOrderDate,category:category}; 
},
{ query:{status:"DELIVERED"},out:"order_total"}).find()
 db.order_total.aggregate([{ $group: { "_id": "$value.category", "users": { $sum: 1 } } }]);

आपको मनचाहा परिणाम मिलेगा

{userLessThan5: 9 }
{user5to10: 2 }
{user10to15: 1 }
{user15to20: 0 }
 ....


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB का उपयोग करके प्रति दिन औसत फ़ील्ड की गणना कैसे करें?

  2. क्या स्प्रिंग वेबफ्लक्स और स्प्रिंग डेटा रिएक्टिव में पेजिनेशन को लागू करने का कोई तरीका है?

  3. नोडज - मोंगोडब मूल निवासी सभी दस्तावेज ढूंढते हैं

  4. इन्सर्ट (), इन्सर्टऑन (), और इन्सर्टमैनी () मेथड में क्या अंतर है?

  5. MongoDB पर केवल लोकलहोस्ट को कैसे सुनें?