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

नोड/मोंगो में खोज को समझना

मैं आपको मानता हूं, यह मामला थोड़ा अजीब है। यहाँ mongodb-native के v2.2 के लिए है।

सबसे पहले, find दो अलग-अलग उपयोग हैं . आप या तो कॉलबैक फ़ंक्शन दे सकते हैं या नहीं। लेकिन किसी भी मामले में , यह सिंक्रोनस रूप से . लौटाता है एक वस्तु। अधिक सटीक रूप से यह एक कर्सर . कॉलबैक पास करते समय हम एसिंक्रोनस मैकेनिज्म की उम्मीद कर सकते हैं लेकिन यहां नहीं।

collection.find({ }, function (err, cursor) {
  assert(!err);
});
console.log('This happens after collection.find({ }, callback)');

या

const cursor = collection.find({});
console.log('Also happening after');

दूसरी ओर, toArray एक एसिंक्रोनस फ़ंक्शन है और इसके दो अलग-अलग उपयोग भी हैं। इस बार, लौटाई गई वस्तु तर्कों के आधार पर भिन्न है।

समतुल्य हैं:

cursor.toArray(function (err, documents) {
  assert.equal(1, documents.length);
});

और

cursor.toArray()
  .then(documents => {
    assert.equal(1, documents.length);
  });

पहली कॉल में, toArray रिटर्न undefined जबकि दूसरे में, यह एक Promise returns देता है ।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - श्रेणीबद्ध क्वेरी पर छँटाई और सीमित करते समय सूचकांक का उपयोग नहीं किया जा रहा है

  2. पाइपलाइन के साथ $ लुकअप कैसे करें और सी # में पैरामीटर दें (MongoDB.Driver 2.7.2)

  3. सी # के साथ मोंगोडीबी - गतिशील रूप से जेनरेट की गई भविष्यवाणी के साथ क्वेरी

  4. MongoDB से विश्वसनीय रूप से पुनः कनेक्ट करें

  5. सिद्धांत ODM के साथ MongoDB में एम्बेडेड दस्तावेज़ को कैसे अपडेट करें?