我正在尝试通过对属性使用减号来对 mongoose 进行排序,如果我直接对属性进行操作,它似乎工作正常(两种方式)。 所以这样的事情对我有用:
.sort({ name: -1 })
这也行
.sort({ '-name': -1 })
但是当我尝试根据子属性进行排序时,它只能以一种方式工作,
{ 'payment.cash.budget': -1 }
以上查询工作正常。 但以下内容不起作用:
{ '-payment.cash.budget': -1 }
为什么 Mongoose 会那样做? 我不能(轻松地)使用“1”而不是“-1”,因为查询来自前端。
- Mongoose :4.13.0
- MongoDB:3.6
最佳答案
当使用带属性名称的减号进行 Mongoose 排序时,您只需传递字符串本身,而不是对象:
.sort('payment.cash.budget') // Ascending
.sort('-payment.cash.budget') // Descending
关于javascript - 如何在 Mongoose 中使用减号按对象属性排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52744794/