我如何过滤来自快速服务器和 nodejs 的 GET 查询

How can i filter a GET query from express server and nodejs

我想创建一个 GET 路由来获取我的所有任务,但只有带有 task_completed 属性 布尔值 'false'.

的任务

现有路线:

router.get('/getalltasks', cors(), async(req, res) => {
Task.find(function(err, tasks) {

// if there is an error retrieving, send the error. 
                // nothing after res.send(err) will execute
if (err)
    res.send(err);


res.json(tasks); // return all tasks that are in JSON format 

  });
});

Mongoos 架构:

const mongoose = require('mongoose');

const TaskSchema = new mongoose.Schema({
task_name:{
    type: String,
    required: true,
    minlength: 1,
    unique: true,
},
task_category: String,
task_xpreward: Number,
task_completed: Boolean,
task_difficulty: Number,    //1 = Easy, 2 = Medium, 3 = Hard, 4 = Very Hard, 5 = Impossible
task_city : String,
});

 //sommige variabelen kunnen opgedeeld worden in 2de schema met relatie 
module.exports = mongoose.model('Task', TaskSchema);

如何在现有代码中实现它?

所以如果你想要 task_completed: false 属性 的一项任务:

编辑:捕获错误:

router.get('/getalltasks', cors(), async(req, res) => {
let task;
try{
task = await Task.findOne({task_completed: false});
   }catche (e){
    console.log(`Err: ${e}`);
   }
 res.json(task);
}

并且如果您想要所有任务 task_completed: false:

router.get('/getalltasks', cors(), async(req, res) => {
const tasks = await Task.find({task_completed: false});
res.json(tasks);
}