Karena semua jawaban kehilangan beberapa bit (tangkap blok, periksa apakah klien tidak null
) Saya datang dengan solusi saya sendiri. Diuji dengan server Mongo v4.0.7 dan driver Node JS 3.2.2.
Perhatikan bahwa contohnya adalah program konsol, di mana kita menutup koneksi ke server di finally
memblokir. Dalam aplikasi web, koneksi digunakan kembali. Lihat dokumen Node Mongo. Selain itu, kesalahan dicatat dengan perpustakaan seperti Winston atau Morgan dan tidak dicatat di konsol.
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();