Как обновить mongoDB в NodeJS, когда клиент не находится в области видимости - PullRequest
0 голосов
/ 30 марта 2020

Я хочу передать данные в мою базу данных 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}');
    }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...