J'ai un modèle de mangouste:

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)

Et je dois trier par champ Catégorie. L'ordre de tri est

['Clothes', 'Accessories', 'Footwears']

Comment je le fais chat?

0
Petr Vasilev 30 août 2020 à 15:59

2 réponses

Meilleure réponse

Je l'ai résolu en ajoutant du poids à Category. Maintenant, mon modèle est comme ça:

const schema = new Schema({
    Name: { type: String }, 
    Category: { type: String },
    CategoryWeight: { type: Number }, 
    Price: { type: Number } 
})

Et je trie comme ça:

const products = await Product.find().sort('-CategoryWeight')
0
Petr Vasilev 4 sept. 2020 à 04:02

Le serveur MongoDB n'offre aucun moyen de fournir une fonction de tri personnalisée.

JavaScript, vous permettant ainsi d'obtenir les résultats de la requête en tant que tableau et utilisez une fonction de comparaison personnalisée avec

Joe 30 août 2020 à 23:28