我正在使用和尚在一个简单的Hapi v17应用程序中查询mongodb。

在v16中,我曾经使用以下命令检索数据库中的所有项目:

videodb.find({}, {sort: {'created_on': -1}}, function(err, videos) {
  console.log(videos);
  return reply("ok");
});


在v17中,此功能无效。 Hapi v17始终要求返回函数可见,并且在发生页面渲染时,我的“以回调为动力”的函数将在最后执行。

其含义是:我不能简单地将Reply函数放入回调中。我想我需要使用Promise或async / await函数。但是我已经尝试了好几个小时才能了解操作方法。

在和尚从数据库中检索到数据之后,有人可以将上面的代码“转换”为有效的Hapi v17代码,该代码简单地调用h.view(“ home”)吗?

谢谢!

最佳答案

和尚应该返回一个承诺,以便您可以将代码重写为

const videos = await videodb.find({}, {sort: {'created_on': -1}});
...

09-17 16:20