如何使用MongoDB按加权(Wilson/Bayes)评级/审查分数排序?

如何使用MongoDB按加权(Wilson/Bayes)评级/审查分数排序?,mongodb,sorting,statistics,bayesian,rating,Mongodb,Sorting,Statistics,Bayesian,Rating,我目前有一个类似Yelp工作方式的餐厅列表,其评级范围为1-5,总评级数为。当向我的用户展示餐厅时,我想通过评级和评论的加权组合进行排序,这样一家评级为15星级的餐厅不会超过一家评级为20个5星级和10个4星级的餐厅 我想用这样的答案:,但由于每次添加新餐厅或新评论时,平均投票数都会发生变化,因此我不确定如何动态地做到这一点 是否可以在db.find().sort()MongoDB查询中执行此操作?您是否尝试过进行聚合,并在聚合管道中计算加权分数作为新字段,然后按此字段进行排序。否。这不是一次对

我目前有一个类似Yelp工作方式的餐厅列表,其评级范围为1-5,总评级数为。当向我的用户展示餐厅时,我想通过评级和评论的加权组合进行排序,这样一家评级为15星级的餐厅不会超过一家评级为20个5星级和10个4星级的餐厅

我想用这样的答案:,但由于每次添加新餐厅或新评论时,平均投票数都会发生变化,因此我不确定如何动态地做到这一点


是否可以在db.find().sort()MongoDB查询中执行此操作?

您是否尝试过进行聚合,并在聚合管道中计算加权分数作为新字段,然后按此字段进行排序。否。这不是一次对大量餐厅进行排序,所以我希望可以在查询中进行排序,而无需创建任何额外字段。