【问题标题】:mongoose sort by a function猫鼬按功能排序
【发布时间】:2016-11-18 04:07:25
【问题描述】:

我有一个看起来像这样的架构

var user = new Schema({
  preference1: { // preference is a number between 1 - 10
    type: Number 
  },
  preference2: { // preference is a number between 1 - 10
    type: Number 
  }
})

如何查找文档并按首选项字段中的功能排序?说fn是这样的

fn = Math.abs(preference1 - 3) + preference2 ^ 2

【问题讨论】:

    标签: sorting mongoose


    【解决方案1】:

    我找到了一个临时解决方案。它有效,但不是我真正想要的......代码真的很乱,显然你不能随意使用fn 进行排序..

    例如,说fn = (a+3) * (b+5)

    Media.aggregate()
    .project({
         "type": 1,
         "status": 1,
         "newField1": { "$add": [ "$type", 3 ] },
         "newField2": { "$add": [ 5, "$status" ] },
    })
    .project({
         "newField3": { "$multiply": [ "$newField1", "$newField2" ] },
    })
    .sort("newField3")
    .exec()
    

    【讨论】:

      猜你喜欢
      • 2012-11-06
      • 1970-01-01
      • 2023-04-08
      • 2019-09-16
      • 2020-11-21
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      相关资源
      最近更新 更多