Jika Anda menjalankan node versi 7.6 atau lebih tinggi, cara yang lebih baik adalah menggunakan async waiting yang berfungsi dengan promise.
Jadi kode Anda akan terlihat seperti
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
Tentu fungsi apa pun yang akan Anda tunggu harus disetujui seperti yang Anda lakukan dengan fungsi koneksi Anda (tetapi jika Anda menggunakan https://www.npmjs.com/package/mongodb fungsi sudah dijanjikan)
Perbarui
Cara terbaik adalah menggunakan luwak , tetapi jika Anda ingin bekerja dengan mongodb asli, Anda dapat menulis mongodb Anda seperti ini https://Pastebin.com/BHHc0uVN (hanya contoh)
Anda dapat memperluas contoh ini sesuai keinginan.
Anda dapat membuat fungsi createCollection
const createCollection = (connection, collectionName) => {
return connection.createCollection(collectionName); // actually i'm not sure that this function exists in mongodb driver
}
Dan penggunaan akan menjadi:
const mongodbLib = require('./lib/mongodb'); //path to db.js file
mongodbLib.init()
.then(connection => mongodbLib.createCollection(connection, 'cas'))
.then(() => doSmthElse())
Atau jika Anda yakin init selesai (Anda dapat melakukannya sekali sebelum skrip utama Anda seperti memulai server atau apa pun yang Anda lakukan)
const mongodbLib = require('./lib/mongodb'); //path to db.js file
const connection = mongodbLib.getConnection();
Atau jika Anda ingin bekerja sederhana dengan koleksi seperti pada langkah 6, tambahkan koleksi cas Anda (seperti pengguna dalam file contoh). Tapi ini bisa Anda gunakan saat fungsi init Anda selesai juga. Jadi penggunaannya akan menjadi
const mongodbLib = require('./lib/mongodb');
const cas = mongodbLib.collections.cas;
cas().insertMany(docs)
.then()
.catch()