我使用僧侣在简单的Hapi v17应用中查询我的mongodb。
在v16中,我曾使用以下方法检索数据库中的所有项目:
videodb.find({}, {sort: {'created_on': -1}}, function(err, videos) {
console.log(videos);
return reply("ok");
});
在第17节中,这不起作用。 Hapi v17总是需要一个返回功能才能看到我的回调功能"当页面呈现发生时,函数正在最后一个位置执行。
这意味着:我不能简单地将回复功能放在回调中。我想我需要使用promises或async / await函数。但是我已经花了好几个小时才明白了。
任何人都可以"翻译"将上面的代码转换成一个有效的Hapi v17代码,只需调用h.view(" home") 后monk从db中检索数据?
谢谢!
答案 0 :(得分:1)
Monk应该返回一个承诺,以便您可以将代码重写为
const videos = await videodb.find({}, {sort: {'created_on': -1}});
...