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

Mongodb जटिल गणना मूल्य द्वारा दस्तावेज़ों को सॉर्ट करता है

आपका $temp_score और $temp_votes अभी तक आपके $divide . में मौजूद नहीं हैं ।

आप एक और $project कर सकते हैं :

db.user.aggregate([{
    "$project": {
        'temp_score': {
            "$add": ["$total_score", 100],
        },
        'temp_votes': {
            "$add": ["$total_votes", 20],
        }
    }
}, {
    "$project": {
        'temp_score':1,
        'temp_votes':1,
        'weight': {
            "$divide": ["$temp_score", "$temp_votes"]
        }
    }
}])

या फिर से कम्प्यूटिंग temp_score और temp_votes $divide . में :

db.user.aggregate([{
    "$project": {
        'temp_score': {
            "$add": ["$total_score", 100],
        },
        'temp_votes': {
            "$add": ["$total_votes", 20],
        },
        'weight': {
            "$divide": [
                { "$add": ["$total_score", 100] },
                { "$add": ["$total_votes", 20] }
            ]
        }
    }
}]);

आप इसे एक ही $project . में भी कर सकते हैं $let का इस्तेमाल करके ऑपरेटर जिसका उपयोग 2 चर बनाने के लिए किया जाएगा temp_score और temp_votes . लेकिन परिणाम एक ही क्षेत्र के अंतर्गत पहुंच योग्य होंगे (यहां total ) :

db.user.aggregate([{
    $project: {
        total: {
            $let: {
                vars: {
                    temp_score: { $add: ["$total_score", 100] },
                    temp_votes: { $add: ["$total_votes", 20] }
                },
                in : {
                    temp_score: "$$temp_score",
                    temp_votes: "$$temp_votes",
                    weight: { $divide: ["$$temp_score", "$$temp_votes"] }
                }
            }
        }
    }
}])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo ObjectIDs:जंगली में उपयोग करने के लिए सुरक्षित?

  2. जेनसेगर्स द्वारा MongoDB एकत्रीकरण क्वेरी को Laravel MongoDB में कैसे बदलें

  3. Sails.js स्किपर के साथ MongoDB पर फ़ाइलें अपलोड करने से पहले सामान की जाँच करना (वैध फ़ाइलें, छवि का आकार बदलना आदि)

  4. मोंगोडब टाइमस्टैम्प बहुत गलत है - नेवला

  5. MongoDB में अपनी सुविधा संगतता संस्करण कैसे देखें?