如何在函数范围外使用查找结果?

时间:2018-03-02 16:43:26

标签: node.js mongodb es6-promise

我正在尝试返回从Node.js中的mongo数据库中检索它的查询 `

function find(){
    var result="";
    dbc.find(obj).toArray().then((res)=>{
        result=res;
      },(err)=>{
        throw err;
      }
    );
    return result;

}`

当我尝试返回结果并记录它时,undefined就是我得到的。我甚至试图在全球范围内声明结果,但它没有用。所以我尝试使用底部代码并且它有效。

`

function find(){
 var result="";
 dbc.find(obj).toArray().then((res)=>{
 fs.writeFileSync('new.txt',JSON.stringify(res));
 },(err)=>{
 throw err;
 }
 );
 result=JSON.parse(fs.readFileSync('new.txt'));
 return result;
}

`

我对Node.js很新,有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

function find(){
    return dbc.find(obj).toArray();
}
find()
   .then(res => console.log(res))
   .catch(err=> console.log(err));