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

नेवला में यादृच्छिक रिकॉर्ड कैसे खोजें

एक यादृच्छिक रिकॉर्ड प्राप्त करने के पीछे का विचार सभी मिलान करने वाले रिकॉर्ड को क्वेरी करना है लेकिन केवल एक प्राप्त करना है। यह है findOne() बिना किसी मापदंड के करता है।

फिर आप सभी संभावित मैचों में एक यादृच्छिक प्रविष्टि चुनना चाहेंगे। यह इसके द्वारा किया जाता है:

  1. पता करें कि कितनी संभावित प्रविष्टियां हो सकती हैं - हम count() . का उपयोग करते हैं इसके लिए संग्रह पर। ध्यान दें, जैसा कि टिप्पणियों में बताया गया है, count संस्करण 4 में पदावनत किया गया है और इसके बजाय किसी को अनुमानित डॉक्यूमेंटकाउंट या काउंट डॉक्यूमेंट्स का उपयोग करना चाहिए। अन्य बातों के अलावा सटीक/स्मृति उपयोग में भिन्न है। यहाँ एक SO पोस्ट इस पर थोड़ी चर्चा कर रही है।

  2. हमारी गिनती के भीतर एक यादृच्छिक संख्या के साथ आओ।

  3. skip() Use का उपयोग करें वांछित मैच को "स्किप" करने के लिए और उसे वापस करने के लिए।

इस SO उत्तर से संशोधित एक स्निपेट यहां दिया गया है:

// Get the count of all users
User.count().exec(function (err, count) {

  // Get a random entry
  var random = Math.floor(Math.random() * count)

  // Again query all users but only fetch one offset by our random #
  User.findOne().skip(random).exec(
    function (err, result) {
      // Tada! random user
      console.log(result) 
    })
})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. node.js mongodb _id द्वारा दस्तावेज़ का चयन करें

  2. MongoDB समवर्ती अद्यतनों से कैसे निपटता है?

  3. DataImportHandler का उपयोग करके MongoDB और Solr को जोड़ने के चरण

  4. अनपेक्षित मोंगो निकास कोड 100. पुनरारंभ करना

  5. ऑब्जेक्ट आईडी की सरणी के साथ नेवला स्कीमा कैसे बनाएं?