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

Cara mendapatkan panggilan balik di MongoDB collection.find()

Itu sintaks panggilan balik yang benar, tetapi apa yang find menyediakan untuk panggilan balik adalah Cursor , bukan larik dokumen. Jadi jika Anda ingin panggilan balik Anda memberikan hasil sebagai larik dokumen, panggil toArray pada kursor untuk mengembalikannya:

collection.find({'_id':o_id}, function(err, cursor){
    cursor.toArray(callback);
    db.close();
});

Perhatikan bahwa panggilan balik fungsi Anda masih perlu memberikan err parameter sehingga pemanggil mengetahui apakah kueri berfungsi atau tidak.

2.x Pembaruan Driver

find sekarang mengembalikan kursor daripada menyediakannya melalui panggilan balik, sehingga penggunaan tipikal dapat disederhanakan menjadi:

collection.find({'_id': o_id}).toArray(function(err, results) {...});

Atau dalam kasus ini di mana satu dokumen diharapkan, lebih mudah menggunakan findOne :

collection.findOne({'_id': o_id}, function(err, result) {...});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mengubah database dari mysql ke mongoDb

  2. Bagaimana cara membuat kueri case-insensitive di Mongodb?

  3. Pertempuran Database NoSQL - Membandingkan Fungsi NoSQL MongoDB &MSSQL

  4. mongodb menghitung jumlah nilai yang berbeda per bidang/kunci

  5. Cara Mencadangkan dan Mengembalikan ClusterControl