结果映射后执行排序

时间:2019-04-07 07:16:43

标签: mongoose

我有以下代码 得到一个对象数组 然后将结果与另一个集合合并

 const data = await User.find({ userId: id })
    .map(res =>
      res == null
        ? res
        : res.map(async obj => {
          const { number } = obj

          const record = await Record.find({ number })
            .sort({ annualYear: -1 })
            .limit(1)
          const { star } = record[0]

          return R.assoc('star', star)(obj)
        })
    )
    .skip(cursor)
    .limit(limit)
    .sort({ updatedAt: -1 })

结果应该像这样

[{
  a: 1,
  b: 2,
  star: 1,
  updatedAt: ISO time
},{
  a: 1,
  b: 2,
  star: 2,
  updatedAt: ISO time
},{
  a: 1,
  b: 2,
  star: 3,
  updatedAt: ISO time
}]

是否可以按字段star进行排序? 由于它最初不是User

所拥有的

0 个答案:

没有答案