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

MongoDB में समान सरणी के लिए क्वेरी

उन सभी के लिए धन्यवाद जिन्होंने मेरी मदद करने की कोशिश की। मैं आपकी मदद की सराहना करता हूं।

मुझे एग्रीगेशन पाइपलाइन के ज़रिए समाधान मिल गया है।

var myArray = ['a', 'b', 'c'];

db.test.aggregate([
    {
        $unwind: '$chars',
    },
    {
        $match: { chars: { $in: myArray } },
    },
    {
        $group: {
            _id: '$_id',
            count: { $sum: 1 },
        },
    },
    {
        $project: {
            _id: 1,
            count: 1,
            score: { $divide: ['$count', myArray.length] },
        },
    },
    {
        $sort: { score: -1 },
    },
]);

यह वही है जो कंसोल वापस देता है:

{ "_id" : ObjectId("586ebeacb2ec9fc7fef5ce31"), "count" : 3, "score" : 1 }
{ "_id" : ObjectId("586ebeb9b2ec9fc7fef5ce32"), "count" : 2, "score" : 0.6666666666666666 }
{ "_id" : ObjectId("586ebe89b2ec9fc7fef5ce2f"), "count" : 1, "score" : 0.3333333333333333 }

आशा है कि किसी को यह उपयोगी लगेगा।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला स्कीमा:अद्वितीय फ़ील्ड मान्य करना, केस असंवेदनशील

  2. पॉप्युलेट के जवाब में पथ का नाम कैसे बदलें

  3. MongoDB से उसके मुख्य नाम से एक मान प्राप्त करें

  4. अपने MongoDB संस्करण की जाँच करने के 7 तरीके

  5. मोंगोडीबी $tanh