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

मतदान के लिए मोंगो डेटा मॉडलिंग/अपडेट (ऊपर और नीचे)

दूसरी स्कीमा का उपयोग करना बहुत आसान लगता है।

Document:  { name: "name",
             upvoters: [name1, name2, etc],
             downvoters: [name1, name2, etc],
           }

कुल वोट प्राप्त करने के लिए आप दस्तावेज़ प्राप्त कर सकते हैं और usedoc.upvoters.length-doc.downvoters.length (प्रत्येक दस्तावेज़ को अपवोटर्स और डाउनवॉटर एरे के साथ शुरू करें [ ])

आइटम "सी" पर उपयोगकर्ता "x" द्वारा किसी भी अपवोट को रिकॉर्ड करने के लिए बस यह करें:

db.votes.update({name:"c"},{$addToSet:{upvotes:"x"},$pull:{downvotes:"x"}})

यह परमाणु है और इसे 10 बार चलाने पर भी यही काम करने का फायदा है। यह आपको यह जांचने से भी बचाता है कि क्या "x" ने पहले से ही "c" को वोट दिया है और किस तरह से।

डाउनवोट रिकॉर्ड करने के लिए बस इसे उल्टा करें:

db.votes.update({name:"c"},{$addToSet:{downvotes:"x"},$pull:{upvotes:"x"}})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगो डीबी ऑब्जेक्ट आईडी जेएसओएन सीरिएलाइज़र का उपयोग करके deserializing

  2. नोड.जेएस में मोंगोडब-मूल से चल रहा है db.repairDatabase ()

  3. नेवला में स्कीमा परिवर्तन से निपटना

  4. क्या मोंगोडीबी में सूचकांक आकार का अनुमान लगाने के लिए कोई उपकरण हैं?

  5. MongoDB प्रतिकृति सरल पासवर्ड प्रमाणीकरण के साथ सेट है