इस सवाल में जवाब अभी भी प्रासंगिक हैं: How can I promisify the MongoDB native Javascript driver using bluebird?क्या मोंगोडीबी चालक को प्रचारित करना अभी भी आवश्यक है?
मैं कब से इस अद्यतन किया गया था पता नहीं है, लेकिन MongoDB के लिए 2.0 जे एस चालक विकल्पों में एक संपत्ति आपत्ति promiseLibrary
है: http://mongodb.github.io/node-mongodb-native/2.0/api/MongoClient.html
और सबसे तरीकों/फ़ंक्शन एक वादा वापस करते हैं, उदाहरण के लिए Cursor.toArray()
।
हालांकि, मैं एक उदाहरण के इस नए विकल्प का उपयोग नहीं मिल सकता है, लेकिन यह आसान नहीं होगा, बस का उपयोग कर:
MongoClient.connect('mongodb://URL', { promiseLibrary: require('bluebird') });
या इस परिभाषा गलत है? - इस मामले में, इसे कैसे ठीक से परिभाषित किया जाना चाहिए?
अद्यतन:
कोड io.js पर चल रहा है तो मैं भी रूप में चालक ES6 वादों का प्रयोग करेंगे एक promiseLibrary
निर्दिष्ट करने की आवश्यकता नहीं हो सकता है? - हालांकि, माना जाता है कि Bluebird वादों धीमी कर रहे हैं:
Why are native ES6 promises slower and more memory-intensive than bluebird?
Update2: मैं Bluebird टैग जोड़ने के बाद - हो सकता है Bluebird पर काम कर रहे लोगों को अधिक जानकारी प्रदान कर सकते हैं अगर promisifying वास्तव में MongoDB के स्वयं के उपयोग की तुलना में बेहतर है कार्यान्वयन?
व्यक्तिगत रूप से मतभेदों का एक उदाहरण देखना पसंद करेंगे। साझा करने के लिए 5 मिनट अतिरिक्त? –