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

Memahami find di Node/Mongo

Saya akui, kasus ini agak aneh. Ini untuk v2.2 dari mongodb-native.

Pertama-tama, find memiliki dua penggunaan berbeda . Anda dapat memberikan fungsi panggilan balik atau tidak. Namun dalam apapun , ia mengembalikan secara serempak Sebuah Objek. Lebih tepatnya itu adalah kursor .Kita bisa mengharapkan mekanisme asinkron saat melewati panggilan balik tetapi tidak di sini.

collection.find({ }, function (err, cursor) {
  assert(!err);
});
console.log('This happens after collection.find({ }, callback)');

ATAU

const cursor = collection.find({});
console.log('Also happening after');

Di sisi lain, toArray adalah fungsi asinkron dan juga memiliki dua penggunaan yang berbeda. Kali ini, objek yang dikembalikan berbeda tergantung pada argumennya.

Setara:

cursor.toArray(function (err, documents) {
  assert.equal(1, documents.length);
});

DAN

cursor.toArray()
  .then(documents => {
    assert.equal(1, documents.length);
  });

Pada panggilan pertama, toArray mengembalikan undefined sedangkan yang kedua, ia mengembalikan Promise .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara memposting data ke koleksi mongo menggunakan Mean stack?

  2. MongoError:tidak dapat mengubah _id dokumen

  3. Indeks parsial di mongodb / luwak

  4. Hitungan Mongodb berbeda dengan beberapa bidang grup

  5. Mutex dengan MongoDB