mongodb - 如果某些产品有折扣价(猫鼬),如何按价格对产品进行排序?
问题描述
所以我想按价格订购产品 - ASC 和 DESC,但有些产品会有 discounted:true 属性。如果打折是真的排序应该使用折扣价格字段,如果是假的 - 他们应该使用价格字段。
我使用猫鼬版本:^5.1.0
这是我的(不工作)解决方案
products.find({}, {sort: { price: 1, discountPrice: 1 }})
使用这些产品:
{
name: 'p1',
price: 10,
discountPrice: 5,
discounted: true
},
{
name: 'p2',
price: 11,
discountPrice: 8,
discounted: false
},
{
name: 'p3',
price: 990,
discountPrice: 6,
discounted: true
}
我希望输出是:
[p1, p3, p2]
但实际输出是:
[p1, p2, p3]
解决方案
推荐阅读
- javascript - 限制 Node.js 循环中产生的并发子进程的数量
- php - 使用 zfcampus/zf-oauth2 模块进行用户身份验证
- html - 如何在不知道扩展名的情况下获取文件 - ASP.NET MVC
- ios - 带有 Swift 4/Xcode 10 的 Facebook SDK:参数类型“SDKLoggingBehavior?” 不符合预期的“序列”类型
- html - 我希望我的表单按钮与其他按钮一起出现在一行中
- vba - 我应该在 Excel 的 VBA 宏中使用过滤器来选择要在宏中使用的数据吗?
- java - 当响应不包含媒体类型标头时,Spring webclient 抛出“仅允许一个连接接收订阅者”
- java - 如何使用 html 从 JSON 文件中选择数据
- scala - 类型安全向量实现的类型不匹配
- wordpress - 从 WordPress 帖子中的 textarea 中删除 br 和 p 标签