如何按特定顺序对猫鼬进行排序?
Posted
技术标签:
【中文标题】如何按特定顺序对猫鼬进行排序?【英文标题】:How to sort in mongoose by specific order? 【发布时间】:2020-12-18 19:08:19 【问题描述】:我有猫鼬模型:
const mongoose = require('mongoose')
const Schema = mongoose
const schema = new Schema(
Name: type: String ,
Category: type: String ,
Price: type: Number
)
module.exports = mongoose.model('Product', schema)
我必须按类别字段排序。排序顺序是
['Clothes', 'Accessories', 'Footwears']
我是怎么做到的?
【问题讨论】:
我的意思是我该怎么做? 这能回答你的问题吗? How to sort in mongoose? 【参考方案1】:MongoDB 服务器不提供任何方式来提供自定义排序功能。
javascript 可以,因此您可以将查询结果作为数组获取,并使用自定义比较函数与Array.sort
【讨论】:
感谢您的回复。我通过创建新值作为 CategoryWeight 来解决它。当我保存它时,我会设置重量【参考方案2】:我通过添加类别的权重来解决它。现在我的模型是这样的:
const schema = new Schema(
Name: type: String ,
Category: type: String ,
CategoryWeight: type: Number ,
Price: type: Number
)
我是这样排序的:
const products = await Product.find().sort('-CategoryWeight')
【讨论】:
以上是关于如何按特定顺序对猫鼬进行排序?的主要内容,如果未能解决你的问题,请参考以下文章