Я хочу передать данные в мою базу данных mon go, но для функции createOrderHistoryListing
требуется переменная клиента, и это только в рамках функции dbConnect
. Как я могу реструктурировать свой код или более эффективный способ получить доступ к переменной client
и выполнять вызовы базы данных в отдельных функциях GET / POST?
const { MongoClient } = require('mongodb');
async function dbConnect() {
const uri = "mongodb+srv://foo:bar@cluster-foo-bar.mongodb.net/test?retryWrites=true&w=majority";
const client = new MongoClient(uri);
try {
// Connect to the MongoDB cluster
await client.connect();
} catch (e) {
console.error(e);
} finally {
// Close the connection to the MongoDB cluster
await client.close();
}
}
dbConnect().catch(console.error);
app.post('/webOrderForm', function (req, res) {
let accNum = req.body.accNum
// Store order history document in mongoDB
async function createOrderHistoryListing(client, newListing){
const result = await client.db("order_history").collection("orderHistory").insertOne({accNum: accNum});
console.log('New listing created with the following id: ${result.insertedId}');
}
})