Экспресс-сервер GET запрос userId - PullRequest
0 голосов
/ 28 ноября 2018

Я хочу создать маршрут GET API для taskuser / getallusers? UserId = ''.

Я хочу получить все задачи, которые назначены конкретному пользователю.Но когда я проверяю этот вызов (http://localhost:4000/api/taskuser/getalltasks?userId=5bfe4af425ddde2b04eb19c6), но без ошибки?

Я все еще получаю все задачи, назначенные любому пользователю. Может кто-нибудь сказать мне, что идет не так?

Модель taskuser:

const mongoose = require('mongoose');

const TaskuserSchema = new mongoose.Schema({
task_name:{
    type: String,
    required: true,
    minlength: 1,
    unique: true,
},
userId: {
    type: mongoose.Schema.Types.ObjectId,
    required: true,
  },
task_category: String,
task_xpreward: Number,
task_completed: Boolean,
task_difficulty: Number, 
task_city : String,
});

Маршрут API:

router.get('/getalltasks/:userid', cors(),async(req,res) => { // Add /:userid
 var userid = req.params.userid;
 Taskuser.find({ userId: userid}, 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 

 });
});

Редактировать: новый маршрут API

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Измените свой файл маршрута API на это:

router.get("/getalltasks", cors(), async (req, res) => {
  var userid = req.params.userId;
  Taskuser.find({ userId: userid }, function(err, tasks) {
    var userid = req.params.userId;

    // 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
  });
});
0 голосов
/ 28 ноября 2018

Вы должны обновить код до:

router.get('/getalltasks/:userid', cors(),async(req,res) => { // Add /:userid
var userid = req.params.userid;
Taskuser.find({ userId: userid}, 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 

  });
});

Документация: https://mongoosejs.com/docs/api.html#model_Model.find

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...