Estou com um certo problema na hora da busca pelo id de maneira crescente ou decrescente. Onde ao pedir o resultado no Postman, ele retorna o mesmo valor independentemente se o valor é -1 ou 1.
Meu sistema de busca:
static async ListarLivros (req, res, next){
try {
let {limite = 5, pagina = 1} = req.query;
limite = parseInt(limite);
pagina = parseInt(pagina);
if(limite > 0 && pagina > 0) {
const listaLivros = await livro.find()
.sort( { titulo: -1 } )
.skip ((pagina - 1) * limite)
.limit(limite)
.populate("autor")
.exec();
res.status(200).json(listaLivros);
} else {
next (new RequisicaoIncorreta ());
}
} catch (error) {
next(error);
}
}
Meu Schema Livro:
import mongoose from "mongoose";
const livrosSchema = mongoose.Schema({
id: { type: mongoose.Schema.Types.ObjectId },
titulo: {
type: String,
required: [true, `o título do livro é obrigatório`]
},
autor: {
type: mongoose.Schema.Types.ObjectId,
ref: "autores",
required: [true, 'o(a) autor(a) é obrigatório']
},
editora: {
type: String,
required : [true, `a editora é obrigatória`],
enum: {
values: ["Casa do Codigo", "Alura"],
message: "A editora {VALUE} não está registrada em nosso banco de dados... "
}
},
paginas: {
type: Number,
min: [5, "O número de paginas deve ser maior que 5. Valor inserido: {VALUE}"],
max: [5000, "O número de paginas deve ser menor que 5000. Valor inserido: {VALUE}"]
}
},{ versionKey: false });
const livro = mongoose.model("livros", livrosSchema);
export default livro;