Node js, mongoose 对数据库中的数据进行排序

Posted

技术标签:

【中文标题】Node js, mongoose 对数据库中的数据进行排序【英文标题】:Node js, mongoose Sort data from database 【发布时间】:2020-01-03 21:35:21 【问题描述】:

假设我有一个汽车收藏。现在我想买一辆红色且里程少于 10 万公里的汽车。我应该从数据库中获取所有汽车并创建一个过滤汽车的功能,或者猫鼬有一个过滤这些汽车的功能吗?

最后,我想从这个过滤器中随机选择 5 辆汽车,并在同一时间向 5 个不同的用户显示相同的汽车。我该怎么做?

我认为这张照片说明了一切

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

【问题讨论】:

请使用示例数据集(集合文档)和预期输出更新问题,以便我们提供更好的帮助。 How to create a Minimal, Reproducible Example 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

mongoose docs(用于限制或排序等更多选项)

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

附:从性能的角度来看,也许有更好的解决方案

【讨论】:

以上是关于Node js, mongoose 对数据库中的数据进行排序的主要内容,如果未能解决你的问题,请参考以下文章

单个node.js项目中的Mongoose和多个数据库

单个node.js项目中的Mongoose和多个数据库

Node.js - Mongodb - Mongoose / 无法将数组字符串传递到 $push feild

无法在 Node.js 应用程序中使用 mongoose 对 MongoDB 数据库进行排序

无法使用 mongoose、Node.js 将数据插入到 mongoDB 中的 Document 字段中

通过 Mongoose、Node.js、MongodB 中的特定属性查找嵌入式文档