Node js,mongoose从数据库排序数据

时间:2019-08-30 16:01:18

标签: javascript node.js reactjs mongoose

假设我有一个汽车收藏。现在,我想获得的是红色且行驶里程小于10万公里的汽车。我应该从数据库中获取所有汽车并提供过滤汽车的功能,还是猫鼬有过滤汽车的功能?

最后,我想从此过滤器中随机抽取5辆汽车,并在同一时间向5个不同的用户展示相同的汽车。我该怎么办?

我认为这张照片可以解释一切

https://i.stack.imgur.com/ZQNtb.png

2 个答案:

答案 0 :(得分:1)

您可以将过滤器直接传递到猫鼬查询中。

const cars = await Collection.find({
    Color: "red",
    Mileage: {
        $lt: 100
    }
}).limit(5);

答案 1 :(得分:1)

我认为您可以使用猫鼬查询,例如:

model.find({ color: red }).where('mileage').lt(100000);

mongoose docs(用于更多选择,例如限制或排序)

然后使用随机函数再次过滤值。

P.S。也许在性能方面有更好的解决方案