如何在猫鼬中按减号的对象属性排序?

时间:2018-10-10 16:23:59

标签: javascript node.js mongodb mongoose

我正在尝试通过在属性上使用减号来对猫鼬进行排序,如果我直接在属性上进行操作,这似乎很好(双向)。 所以这样的事情对我有用:

.sort({ name: -1 })

这也有效

.sort({ '-name': -1 })

但是当我尝试基于子属性进行排序时,它只能以一种方式工作,

{ 'payment.cash.budget': -1 }

上面的查询工作正常。 但是以下操作无效:

{ '-payment.cash.budget': -1 }

猫鼬表现出这种行为的原因有哪些? 我不能(轻松)使用“ 1”而不是“ -1”,因为查询来自前端。

  • 猫鼬:4.13.0
  • MongoDB:3.6

1 个答案:

答案 0 :(得分:1)

在对猫鼬排序使用带有属性名称的减号时,您只需传递字符串本身,而不是对象:

.sort('payment.cash.budget')  // Ascending

.sort('-payment.cash.budget') // Descending