यदि आप नोड संस्करण 7.6 या उच्चतर चला रहे हैं, तो बेहतर तरीका यह होगा कि आप async Wait का उपयोग करें जो वादों के साथ काम करता है।
तो आपका कोड इस तरह दिखेगा
const start = async() => {
const connect = await connectToMongoDb(url);
const cas = await connect.createYourCollection();
const isPageHasUpdates = oneMoreFunction(); // i don't know how you gonna check it
if(isPageHasUpdates) {
await step 4;
await step 5;
await step 6;
}
await step 7
return something; // if you want
}
start()
.then(res => console.log(res)) // here you can use result of your start function if you return something or skip this then
.catch(err => console.log(err)); // do something with your error
निश्चित रूप से आप जिस फ़ंक्शन का इंतजार कर रहे हैं, उसे वादा किया जाना चाहिए जैसा आपने अपने कनेक्ट फ़ंक्शन के साथ किया था (लेकिन यदि आप का उपयोग कर रहे हैं। https://www.npmjs.com/package/mongodb कार्यों का वादा किया जा चुका है)
अपडेट करें
सबसे अच्छा तरीका होगा mongoose का इस्तेमाल करना , लेकिन अगर आप देशी मोंगोडब के साथ काम करना चाहते हैं तो आप अपना मोंगोडब इस तरह लिख सकते हैं https://pastebin.com/BHHc0uVNए> (सिर्फ एक उदाहरण)
आप इस उदाहरण को अपनी इच्छानुसार विस्तृत कर सकते हैं।
आप फ़ंक्शन createCollection बना सकते हैं
const createCollection = (connection, collectionName) => {
return connection.createCollection(collectionName); // actually i'm not sure that this function exists in mongodb driver
}
और उपयोग होगा:
const mongodbLib = require('./lib/mongodb'); //path to db.js file
mongodbLib.init()
.then(connection => mongodbLib.createCollection(connection, 'cas'))
.then(() => doSmthElse())
या यदि आप सुनिश्चित हैं कि init हो गया है (आप इसे मुख्य स्क्रिप्ट से पहले एक बार कर सकते हैं जैसे सर्वर शुरू करना या जो भी आप कर रहे हैं)
const mongodbLib = require('./lib/mongodb'); //path to db.js file
const connection = mongodbLib.getConnection();
या यदि आप चरण 6 की तरह संग्रह के साथ सरल काम करना चाहते हैं, तो अपना कैस संग्रह जोड़ें (उदाहरण फ़ाइल में उपयोगकर्ता की तरह)। लेकिन इसका उपयोग आप तब कर सकते हैं जब आपका init फंक्शन भी हो जाए। तो उपयोग होगा
const mongodbLib = require('./lib/mongodb');
const cas = mongodbLib.collections.cas;
cas().insertMany(docs)
.then()
.catch()