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

इस मोंगोडीबी/नोड एसिंक्रोनस मुद्दे को कैसे प्राप्त करें?

कुछ भाषाएं इस समस्या से निपटने के लिए एक विशेष भाषा निर्माण प्रदान करती हैं। उदाहरण के लिए, C# में async है /await कीवर्ड जो आपको कोड लिखने देते हैं जैसे कि आप सिंक्रोनस एपीआई को कॉल कर रहे थे।

जावास्क्रिप्ट नहीं है और आपको createAccount . को श्रृंखलाबद्ध करना होगा कॉलबैक के साथ कॉल।

कुछ लोगों ने पुस्तकालय विकसित किए हैं जो इस कोड को व्यवस्थित करने में आपकी सहायता कर सकते हैं। उदाहरण के लिए async , चरण , नोड-वादा और Q

आप फाइबर का भी उपयोग कर सकते हैं पुस्तकालय, एक देशी पुस्तकालय जो फाइबर / कोरआउट के साथ जावास्क्रिप्ट रनटाइम का विस्तार करता है।

और कुछ लोगों ने async . जैसी संरचनाओं के साथ भाषा का विस्तार किया है /await :streamline.js , IcedCoffeeScript या wind.js . उदाहरण के लिए, streamline.js (मैं लेखक हूं इसलिए मैं स्पष्ट रूप से पक्षपाती हूं) _ का उपयोग करता है एक विशेष कॉलबैक प्लेसहोल्डर के रूप में और आपको अपना उदाहरण इस प्रकार लिखने देता है:

var db = MongoClient.connect("mongodb://localhost:27017/bq", _):
var accounts = db.createCollection('accounts', _);
createAccount("bob","bob", _);
createAccount("bob","bob", _);
createAccount("bob","bob", _);
createAccount("bob","bob", _);

function createAccount(email, password, _) {
    var item = accounts.findOne({"email":email}, _);
    if (item === null) {
        accounts.insert({"email":email, "password":password}, _);
        console.log("Account " + email + " created."); }
    } else {
        console.log("Account already exists.")
    }
}

और, अंतिम लेकिन कम से कम, नई भाषा सुविधाएँ जैसे जनरेटर और आस्थगित कार्य जावास्क्रिप्ट के भविष्य के संस्करणों के लिए चर्चा की जा रही है (जेनरेटर के ES6 में उतरने की बहुत संभावना है, आस्थगित कार्य थोड़े रुके हुए प्रतीत होते हैं)।

तो आपके पास कई विकल्प हैं:

  • कॉलबैक से चिपके रहें
  • सहायक पुस्तकालय का उपयोग करें
  • फाइबर रनटाइम एक्सटेंशन का उपयोग करें
  • भाषा एक्सटेंशन का उपयोग करें
  • ES6 की प्रतीक्षा करें


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. वादा का उपयोग करके कई मोंगोडब संग्रह कैसे सहेजते हैं?

  2. MongoDB तत्व को पार करने के लिए भाग का उपयोग नहीं कर सकता

  3. Node.js और async.queue के साथ MongoDB में बड़े CSV सम्मिलित करना

  4. mongodb सर्वर से कनेक्ट करते समय मुझे निम्न त्रुटि मिल रही है:

  5. जब सूची फ़ील्ड में मान किसी सूची से मानदंड मान से मेल खाते हैं, तो MondoDB रिकॉर्ड खोजने के लिए C# में LINQ का उपयोग करें