如何在NodeJS服务器上的猫鼬中使用同步查询

时间:2018-07-27 10:40:22

标签: node.js mongoose synchronous

我尝试使用基于another post的'await'关键字,使用猫鼬ODM进行同步查询,如下所示:

 const query= userModel.find({});
 const syncResutlt= await query.exec();
 console.log(syncResutlt);

但我收到此错误消息:

  const result2 = await query.exec();
                        ^^^^^
  SyntaxError: Unexpected identifier

我也尝试使用yield生成器关键字,但是总是遇到相同的错误 SyntaxError: Unexpected identifier

有关信息,我有nodeJs V8。

1 个答案:

答案 0 :(得分:2)

您只能等待Promises或标记为async的函数,这实际上会返回Promise。

正确的方式

let getUser=async function(user_id){
    let info= await User.findById(user_id);
    console.log(info); // contains user object
}

方式不正确

let getUser= function(user_id){
    let info= await User.findById(user_id); //will throw an exception on await keyword
    console.log(info); // contains user object
}

希望有帮助。