我不知道这两者有什么不同:
var users = Users.findOne({key})
var users = await Users.findOne({key})
var users = Users.findOne({key})
Users.findOne()
方法返回一个承诺,该承诺可以被解决或拒绝。看到承诺
在上面的例子中users变量实际上包含一个promise
对象如果你想要得到解析后的数据你需要像
users.then(data=>{
// your db query data
}).catch(err=>{
// error if something goes wrong
})
下面的await语法实际上给出了promise
的解析数据,参见await
var users = await Users.findOne({key})
所以你将有数据像这样的[{key:value}]
你的mongodb存储在users
变量。
await
也只在async函数中有效,所以你需要把它包装在async函数
async function foo(){
var users = await Users.findOne({key})
}