Comment renvoyer les données MongoDB d'un appel
迷茫
迷茫 2017-06-26 10:49:30
0
2
1227
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 ​​?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
刘奇

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

.

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

漂亮男人

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);
});
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal