我是mongodb的新手,我的排序和查询遇到了一个奇怪的问题。
现在我正在使用 paginate(mongoose-paginate)一个用于mongoose的插件
这是我的收藏
One: {
level: Number,
random:[Number]
}
所以问题是排序弄乱了我的查询,当我评论排序的结果或多或少是正确的时,我的随机数是正确的,但也希望级别排序但总是在进行排序比搜索更重要。
不可能吗?请一些帮助。
我的代码是:
const config = {
select: 'level random',
page:parseInt(page),
limit: parseInt(perPage),
sort: '-level'
};
await One.paginate({ $near : [Math.random(), 0] },config);
&math.random = 0.2和-level
的结果{
level:2, random:[0.7268446184677886,0],
level:2, random:[0.301999760447198,0],
level:1, random:[0.3970620502264359,0],
}
具有math.random = 0.2,并且没有-level 这对随机变量来说是完美的选择,但我也希望级别排序
不正确*
{
level:2, random:[0.301999760447198,0],
level:1, random:[0.3970620502264359,0],
level:2, random:[0.7268446184677886,0],
}
正确*
{
level:2, random:[0.301999760447198,0],
level:2, random:[0.7268446184677886,0],
level:1, random:[0.3970620502264359,0],
}
**我想要的随机数= 0.2和-level **
{
level:2, random:[0.301999760447198,0],
level:2, random:[0.7268446184677886,0],
level:1, random:[0.3970620502264359,0],
}
**我想要的随机数= 0.8和-level **
{
level:2, random:[0.7268446184677886,0],
level:2, random:[0.301999760447198,0],
level:1, random:[0.3970620502264359,0],
}