mongodb Mongoose .find查询不返回集合数据

vwkv1x7d  于 2023-01-16  发布在  Go
关注(0)|答案(1)|浏览(300)

我有下面的代码从一个集合中获取所有数据:

app.get('/',  (req, res) => {
   Question.find({}, (err, found) => {
    if (!err) {
        console.log(found)
        res.send(found);
    } else {
        console.log(err);
        res.sendStatus("Some error occured!")
    } 
  }).clone().catch(err => console.log("Error occured -- " + err));
});

使用debug,我看到我已经连接到数据库,并且正在发送适当的查询:

Mongoose: TopicsDB.find({}, { projection: {} })

但是,不会返回集合中的任何数据。

m3eecexj

m3eecexj1#

这可能是因为您在调用数据库时没有使用异步和等待。默认情况下,每个对数据库的调用都是异步调用,因此需要使用异步并等待它正常工作。

app.get('/', async (req, res) => {
  await Question.find({}, (err, found) => {
    if (!err) {
        console.log(found)
        res.send(found);
    } else {
        console.log(err);
        res.sendStatus("Some error occured!")
    } 
  }).clone().catch(err => console.log("Error occured -- " + err));
});

试试这个,希望有用。

相关问题