recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment renvoyer les données MongoDB d'un appel

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)

Comme le titre, je veux encapsuler mongo dans Model.... Mais j'ai trouvé un problème avec l'impression à l'intérieur, mais lors d'un appel à l'extérieur, les données seront perdues. . . . 222-------Ce qui est imprimé est vide

Oh, si vous le mettez dans le package du projet, la promesse imprimée { <en attente>

Comment renvoyer un tableau, ou dois-je utiliser des frameworks comme mongose ​​?

迷茫迷茫2711 Il y a quelques jours1230

répondre à tous(2)je répondrai

  • 怪我咯

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

    J'utilise mangouste, qui est assez simple à utiliser. Voici quelques démos que j'ai écrites https://github.com/treeandgra...

    .

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

    répondre
    0
  • 漂亮男人

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

    Tout d'abord, je tiens à préciser que ce problème n'a rien à voir avec le framework ou la bibliothèque, c'est entièrement un problème de promesse.
    1. Ce n'est pas que les données sont perdues, mais que votre variable cc est définie aveuglément et n'est pas du tout nécessaire.
    2. On voit que l'auteur n'en sait pas assez sur les promesses. Ce qui attend est l'objet de promesse. Vous pouvez obtenir les données en l'appelant dans une chaîne.

    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);
    });
    

    répondre
    0
  • Annulerrépondre