MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Fungsi sinkron memanggil driver nodejs mongodb

Anda tidak bisa gunakan hasil asinkron sebagai nilai balik dari suatu fungsi. Sesederhana itu. Anda harus mengirimkan hasil asinkron ke pemanggil melalui panggilan balik yang disediakan sebagai parameter ke fungsi (atau menggunakan futures/promises dan secara efektif menunda langkah itu, tetapi itu lebih terlibat).

if_exists seharusnya terlihat seperti ini:

var if_exists = function(query, where, callback) {

  require('mongodb').connect(DB.mongo_url, function(err, db) {
    db.collection(where, function(err, coll) {
      coll.findOne(query, function(e, r) {
        //console.log(r);
        if (r === null) {
          callback(e, false);
        } else {
          callback(e, true);
        }
        // You should either close db here or connect during start up
        // and leave it open.
        db.close();
      });
    });
  });
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Argumen harus berupa string di nodejs

  2. meneruskan luwak sebagai argumen ke suatu fungsi

  3. systemctl tidak ditemukan saat membuat gambar mongo

  4. Jika Mongo $lookup adalah gabungan luar kiri, lalu mengapa ia mengecualikan dokumen yang tidak cocok?

  5. Jenis pemetaan mana yang harus dipilih untuk Array asosiatif? Doktrin ODM