So geben Sie Mongodb-Daten von einem Anruf zurück
迷茫
迷茫 2017-06-26 10:49:30
0
2
1217
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)

Wie der Titel möchte ich Mongo in Model einkapseln ... Aber ich habe ein Problem festgestellt. Es gibt kein Problem beim Drucken im Inneren, aber beim Aufruf von außen gehen die Daten verloren. . . . 222-------Was gedruckt wird, ist leer

Oh, wenn Sie es in das Projektpaket legen, wird das gedruckte Versprechen { <ausstehend>) angezeigt

Wie gebe ich ein Array zurück oder muss ich Frameworks wie Mongose ​​verwenden?

迷茫
迷茫

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

Antworte allen(2)
刘奇

我使用的是mongoose,蛮好用的,这儿有我写的几个demo https://github.com/treeandgra...

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

漂亮男人

首先我要声明的是这个问题与框架或库无关,完全是 promise 的问题。
1、并不是数据丢失,而是你的 cc 变量瞎定义而且根本没必要。
2、看的出来楼主对 promise 了解不够,await 返回的本来就是 promise 对象,链式调用一下就可以取到数据了。

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);
});
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage