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

नेवला/मोंगोडब कुल - समूह और औसत एकाधिक फ़ील्ड

इसने मेरे लिए काम किया:

  Post.aggregate([
    { $group: { _id: "$date", avgRating: { $avg: '$rating' }}}
  ]).
  then(function (res) {
    console.log(res); 
  })

आउटपुट:

[
  { _id: 'Aug 18, 2021', avgRating: 3.0212234706616727 },
  { _id: 'Aug 19, 2021', avgRating: 2.9680319680319682 },
  { _id: 'Aug 20, 2021', avgRating: 3.023976023976024 },
  { _id: 'Aug 17, 2021', avgRating: 2.9600665557404326 },
  { _id: 'Aug 21, 2021', avgRating: 3.072661217075386 }
]

लेकिन यह बहुत अच्छा होगा अगर मैं इसे अन्य कारकों के आधार पर किसी भी तरह से फ़िल्टर कर सकता हूं। उदाहरण के लिए, प्रत्येक पोस्ट में एक लेखक होता है (उपयोगकर्ता मॉडल का संदर्भ)। मैं लेखक के देश.नाम या लिंग के आधार पर फ़िल्टरिंग के बारे में कैसे जाउंगा?

उपयोगकर्ता मॉडल:

const userSchema = new Schema({
email: {
    type: String,
    required: true,
    unique: true
},
birthday: {
    type: Date,
    required: true,
},
gender:{
    type: String,
    required: true
},
country:{
    name: {
        type: String,
        required: true
    },
    flag: {
        type: String,
        // default: "/images/flags/US.png"
    }
},
avatar: AvatarSchema,
displayName: String,
bio: String,
coverColor: {
    type: String,
    default: "#343a40"
},
posts: [ 
    {
    type: Schema.Types.ObjectId,
    ref: "Post" 
    }
],
comments: [
    {
        type: Schema.Types.ObjectId,
        ref: "Comment"
    }
],
postedToday: {
    type: Boolean,
    default: false
},
todaysPost: {
    type: String
}
}) 

कुछ इस तरह

    Post.aggregate([
    {$match: {"date": today}},
    {$group: {_id: {"country": "$author.country.name"}, avgRating: {$avg: "$rating"}}}
]).then(function(res) {
    console.log(res)
})



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के लिए ऑडिट लॉगिंग

  2. मोंगो प्रदान किए गए डेटा की एक सरणी से पंक्तियों की गणना करता है

  3. कैसे करें:उपयोगकर्ता के प्रशंसक हैं

  4. क्वेरी डेटा zf2 में दिखाई नहीं दे रहा है?

  5. स्प्रिंग डेटा MongoDB:एकत्रीकरण ढांचा - नेस्टेड संपत्ति के साथ क्रमबद्ध करें अमान्य संदर्भ फेंकता है