sql >> Databáze >  >> NoSQL >> MongoDB

Node.js ovladač mongodb async/wait dotazy

Protože ve všech odpovědích chybí některé bity (bloky catch, kontrola, zda klient není null ) Přišel jsem s vlastním řešením. Testováno se serverem Mongo v4.0.7 a ovladačem Node JS 3.2.2.

Všimněte si, že příkladem je konzolový program, kde ukončíme spojení se serverem v finally blok. Ve webové aplikaci jsou připojení znovu použita. Viz dokumenty Node Mongo. Chyby se také zaznamenávají do knihoven, jako je Winston nebo Morgan, a nikoli do konzole.

const MongoClient = require('mongodb').MongoClient;

const url = 'mongodb://localhost:27017';

async function findOne() {

    const client = await MongoClient.connect(url, { useNewUrlParser: true })
        .catch(err => { console.log(err); });

    if (!client) {
        return;
    }

    try {

        const db = client.db("testdb");

        let collection = db.collection('cars');

        let query = { name: 'Volkswagen' }

        let res = await collection.findOne(query);

        console.log(res);

    } catch (err) {

        console.log(err);
    } finally {

        client.close();
    }
}

await findOne();


  1. Operátoři MongoDB $gt/$lt s cenami uloženými jako řetězce

  2. Čtení dat z Redis na Flink

  3. pomocí Async uvnitř transakce v aplikaci Spring

  4. Mongoose findOneAndUpdate a upsert nevrací žádné chyby, žádné ovlivněné dokumenty