cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mengembalikan data mongodb daripada panggilan

const connect = async () => {
    // 连接 mongodb 数据库
    const db = await monguaDb()
    const collection = db.collection('user')
    let b = await collection.find({}).toArray()
    cc = b
    console.log("111---" , cc)
    return b
}


const  a = connect()
console.log("2222--------", cc)

Seperti tajuk, saya ingin merangkumkan mongo ke dalam Model.... Tetapi saya mendapati masalah untuk mencetak di dalam, tetapi apabila memanggil di luar, data akan hilang. . . . 222-------Apa yang dicetak adalah kosong

Oh, jika anda meletakkannya dalam pakej projek, Promise yang dicetak { <pending> }

Bagaimana untuk mengembalikan tatasusunan, atau adakah saya perlu menggunakan rangka kerja seperti mongose?

迷茫迷茫2711 hari yang lalu1226

membalas semua(2)saya akan balas

  • 怪我咯

    怪我咯2017-06-26 10:51:30

    Saya menggunakan mongoose, yang agak mudah digunakan Berikut adalah beberapa demo yang saya tulis https://github.com/treeandgra...

    https://github.com/treeandgra...

    balas
    0
  • 漂亮男人

    漂亮男人2017-06-26 10:51:30

    Pertama sekali, saya ingin menyatakan bahawa masalah ini tiada kaitan dengan rangka kerja atau perpustakaan, ia adalah masalah janji sepenuhnya.
    1 Bukan kerana data hilang, tetapi pembolehubah cc anda ditakrifkan secara membuta tuli dan tidak diperlukan sama sekali.
    2. Dapat dilihat bahawa penulis tidak cukup mengetahui tentang janji yang menanti adalah objek janji Anda boleh mendapatkan data dengan memanggilnya.

    const connect = async () => {
        const db = await monguaDb()
        const collection = db.collection('user')
        let b = await collection.find({}).toArray()
        console.log("111---" , b);
        return b; //返回的b是promise对象
    }
    
    connect().then((doc) => { //取出b完成后resolve的数据
        console.log(222---" , doc);
    });
    

    balas
    0
  • Batalbalas