Node.js 如何在NodeJS服务器上使用mongoose同步查询
我尝试使用mongoose ODM和'await'关键字进行同步查询,如下所示:Node.js 如何在NodeJS服务器上使用mongoose同步查询,node.js,mongoose,synchronous,Node.js,Mongoose,Synchronous,我尝试使用mongoose ODM和'await'关键字进行同步查询,如下所示: const query= userModel.find({}); const syncResutlt= await query.exec(); console.log(syncResutlt); 但我得到了这个错误信息: const result2 = await query.exec(); ^^^^^ SyntaxError: Unexpected
const query= userModel.find({});
const syncResutlt= await query.exec();
console.log(syncResutlt);
但我得到了这个错误信息:
const result2 = await query.exec();
^^^^^
SyntaxError: Unexpected identifier
我也尝试了yield
generator关键字,但总是出现同样的错误
SyntaxError:意外标识符
有关信息,请参阅nodeJs V8。您只能等待承诺或标记为async的函数,该函数本质上返回承诺 正确的方法
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
}
不正确的方式
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
}
希望有帮助。我让getUser函数返回info对象,但是当我在另一个函数中使用它时,比如“let data=getUser(1)”=>data={}(空对象)