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

MongoDB - एग्रीगेशन पाइपलाइन के साथ अपवोटिंग/डाउनवोटिंग टिप्पणी करें

आप इसे निम्न पाइपलाइन अद्यतन के साथ कर सकते हैं लेकिन इसके लिए अपवोट और डाउनवोट सरणियों का मौजूद होना आवश्यक है। भले ही वह खाली ही क्यों न हो।

var comment_id = ObjectId("5e5983102328a83d1a4b541f");
var user_id = ObjectId("5e5983102328a83d1a4b53e5");

db.commentReputation.update(
    {
        commentId: comment_id
    },
    [
        {
            $set: {
                upvotes: {
                    $cond: [
                        { $in: [user_id, '$upvotes'] },
                        { $setDifference: ['$upvotes', [user_id]] },
                        { $setUnion: ['$upvotes', [user_id]] }
                    ]
                }
            }
        },
        {
            $set: {
                downvotes: {
                    $cond: [
                        { $in: [user_id, '$downvotes'] },
                        { $setDifference: ['$downvotes', [user_id]] },
                        '$downvotes'
                    ]
                }
            }
        }
    ]
);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. $expr क्वेरी ऑपरेटर सरणी डॉट नोटेशन के साथ काम नहीं कर रहा है

  2. MongoDB कुल लापता दिनों को भरें

  3. सभी फ़ील्ड MongoDB कुल लौटाएँ

  4. मोंगो मैपर में बराबर नहीं है

  5. मोंगोडीबी:एक ही संग्रह से सभी परिणामों को कैसे संघबद्ध करें?