对集合进行排序,并在多个列上为文档分配排序值(MongoDB)



我有一个文档集合,看起来像:

[{ id : 1, a : 123, b : 342, name : 'test'}, { id : 2, a : 23, b : 32, name : 'another'}]

我正在尝试对列a进行排序,然后向包含每个值的秩的每个文档添加另一列(其中允许平局并取平均值)。似乎我应该使用MongoDB聚合框架,但我无法弄清楚如何排序,然后将排名分配给另一列。最后我应该以:

结束
[
    { id : 1, a : 123, b : 32, name : 'test', aRank : 1, bRank : 1.5}, 
    { id : 2, a : 23, b : 32, name : 'another', aRank : 2, bRank : 1.5}
]

帮忙吗?谢谢你

因为没有给出答案——与搜索一无所获有关。我构建了一个npm模块,它为任何js数组在数字列上提供标准和分数排序。

我从来没有提出过在mongodb中聚合它的方法,但这个解决方案对我来说足够好。

npm module: https://www.npmjs.org/package/rank.js

最新更新