使用sails js从mongodb读取数据会删除所有集合数据,为什么?

问题描述

我有一个sails js应用程序, 以下代码工作正常:

list: async(req,res) => {
    Data.find({}).exec((err,data)=>{
      if(err){
        res.send(500,{message: 'db error'});
      }
      res.status(200).json({
        message: 'Data List',data: data
      });
    });

正确输出集合的所有数据。 虽然下面的代码从 mongo db 集合中删除所有数据,然后显示一个空数组:

list: async(req,res) => {
    const data = await Data.find({});
    if(!data){
      res.send(500,{message: 'db error'});
    }
    res.status(200).json({
      message: 'Data List',data: data
    });
  }

我不明白为什么会这样,我更喜欢 async await 也让代码看起来更干净,因此我想使用下面的方法。请帮助我如何使下面的代码片段像上面的一样工作。

解决方法

使用时效果很好

const data = await Data.find();

代替

const data = await Data.find({});