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

MongoDB:cursor.toArray mengembalikan Janji { }

Anda mendapatkan kesalahan ini karena metode find() tidak sinkron, itulah sebabnya janjinya tertunda:masih diambil.

db.collection('diseases').find({
  'ttl.txt': {
    $regex: data,
    $options: 'i'
  }
}).toArray().then((data) => {
    // Here you can do something with your data
    doSomethingWithTheResult(result)
})

Perhatikan bahwa Anda memiliki data Anda di dalam panggilan balik. Untuk info lebih lanjut tentang janji, periksa Janji

Bergantung pada versi simpul Anda (7.6+ saya percaya), Anda dapat menggunakan sesuatu seperti ini

async function getResults() {
    return db.collection('diseases').find({
        'ttl.txt': {
        $regex: data,
        $options: 'i'
        }
    }).toArray();
}

const results = await getResults();

Jadi kode Anda dengan terlihat seperti kode sinkron. Kuncinya di sini adalah perintah async/await yang menunggu hasil janji.

Semoga membantu!



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Masalah saat menginstal mongodb menggunakan Homebrew

  2. Hubungkan laravel jenssegers ke klaster atlas mongodb

  3. MongoDB:Menyalin array ke array lain dalam dokumen yang sama

  4. MongoDB tidak menggunakan /etc/mongodb.conf setelah saya mengubah dbpath

  5. beberapa contoh Mongo DB di server yang sama