Si vous utilisez la version 7.6 ou supérieure du nœud, le meilleur moyen sera d'utiliser l'attente asynchrone qui fonctionne avec des promesses.
Ainsi, votre code ressemblera à
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
Bien sûr, toute fonction que vous allez attendre doit être promise comme vous l'avez fait avec votre fonction de connexion (mais si vous utilisez https://www.npmjs.com/package/mongodb fonctions déjà promises)
Mettre à jour
Le meilleur moyen sera d'utiliser mongoose , mais si vous voulez travailler avec mongodb natif, vous pouvez écrire votre mongodb comme ceci https://pastebin.com/BHHc0uVN (juste un exemple)
Vous pouvez développer cet exemple comme vous le souhaitez.
Vous pouvez créer la fonction createCollection
const createCollection = (connection, collectionName) => {
return connection.createCollection(collectionName); // actually i'm not sure that this function exists in mongodb driver
}
Et l'utilisation sera :
const mongodbLib = require('./lib/mongodb'); //path to db.js file
mongodbLib.init()
.then(connection => mongodbLib.createCollection(connection, 'cas'))
.then(() => doSmthElse())
Ou si vous êtes sûr que l'initialisation est terminée (vous pouvez le faire une fois avant le script principal, comme démarrer le serveur ou quoi que vous fassiez)
const mongodbLib = require('./lib/mongodb'); //path to db.js file
const connection = mongodbLib.getConnection();
Ou si vous voulez travailler simplement avec la collection comme à l'étape 6, ajoutez votre collection cas (comme user dans le fichier d'exemple). Mais cela, vous pouvez l'utiliser lorsque votre fonction init est également terminée. Ainsi, l'utilisation sera
const mongodbLib = require('./lib/mongodb');
const cas = mongodbLib.collections.cas;
cas().insertMany(docs)
.then()
.catch()