Как отфильтровать записи с помощью REST API, используя Express и Mongoose? - PullRequest
0 голосов
/ 20 сентября 2019

Я строю классический сервер Todo, используя Express и Mongoose.Вот моя модель:

import mongoose = require('mongoose');
const autoIncrement = require('mongoose-sequence')(mongoose);

const TodoSchema: mongoose.Schema = new mongoose.Schema({
  todoid: {
    type: Number
  },
  title: {
    type: String,
    required: 'Enter a title'
  },
  note: {
    type: String
  },
  complete: {
    type: Boolean,
    default: false
  },
  editMode: {
    type: Boolean,
    default: false
  }
});

TodoSchema.plugin(autoIncrement, {
  inc_field: 'todoid',
  start_seq: 422
});

export { TodoSchema };

Я хочу обработать следующий запрос REST API:

http://localhost:3000/todos?complete=true

Я могу FindOne и тому подобное., но я не могу понять код, чтобы отфильтровать результаты вызова GET и вернуть только завершенные задачи.

Как правильно это сделать?

1 Ответ

1 голос
/ 20 сентября 2019

Вы можете использовать найти функцию для запроса на основе выполненных:

async function getTodohandler(req, res){
  var result = await TodoSchema.find({completed: req.query.completed == "true"})
  return res.send(result)
}
...