Node / Express Route 'Show', показывающий слишком много результатов - PullRequest
1 голос
/ 20 ноября 2019

Это для серверной части MEAN.

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

show:(req,res) => {
        Activity.findById
        ({_id: req.params._id}).then(activity => {
            res.json(activity)
        })
        .then(console.log(req.query._id))
    },

    show: async (req, res, next) => {

        const linkClicked = await Activity.find
        ({linkClicked: req.params.linkClicked})
        .then(result => {
            res.send(result)

        })
        .then(next())
        .catch(err => (console.log(err)))
    },
    show:(req,res, next) => {
        Activity.find({caseAssigned: req.params.caseAssigned}).then(action => {
            res.json(action)
            next()
        })
        .catch(err => (console.log(err)))
    },
    show:(req,res, next) => {
        Activity.find({addedToQue: req.params.addedToQue}).then(activity => {
            res.json(activity)
            next()
        })
        .catch(err =>(console.log(err)))
    },
    show:(req, res, next) => {
        Activity.find({statusChanged: req.params.statusChanged}).then(activity => {
            res.json(activity)
            next()
        })
        .catch(err => (console.log(err)))
    },
show:(req,res) => {
        Activity.findById
        ({_id: req.params._id}).then(activity => {
            res.json(activity)
        })
        .then(console.log(req.query._id))
    },

    show: async (req, res, next) => {

        const linkClicked = await Activity.find
        ({linkClicked: req.params.linkClicked})
        .then(result => {
            res.send(result)

        })
        .then(next())
        .catch(err => (console.log(err)))
    },
    show:(req,res, next) => {
        Activity.find({caseAssigned: req.params.caseAssigned}).then(action => {
            res.json(action)
            next()
        })
        .catch(err => (console.log(err)))
    },
    show:(req,res, next) => {
        Activity.find({addedToQue: req.params.addedToQue}).then(activity => {
            res.json(activity)
            next()
        })
        .catch(err =>(console.log(err)))
    },
    show:(req, res, next) => {
        Activity.find({statusChanged: req.params.statusChanged}).then(activity => {
            res.json(activity)
            next()
        })
        .catch(err => (console.log(err)))
    },

Для маршрутов, которые у меня есть:

const express = require('express');
const controllerRouter = express.Router();
const activityController = require("../controllers/activity")

controllerRouter.get("/", activityController.index)
// controllerRouter.get("/search/:_id", activityController.show)

controllerRouter.get("/event/:linkClicked/linkClicked/", activityController.show)
controllerRouter.get("/event/caseAssigned/:caseAssigned", activityController.show)
controllerRouter.get("/event/addedToQue/:addedToQue", activityController.show)
controllerRouter.get("/event/statusChanged/:statusChanged", activityController.show)

Когда я ищу в почтальоне / event / true / linkClicked, я получаю JSON, который не имеет linkClicked:правда.

Решения, которые я попробовал: 1) Я попытался реализовать функцию next () в моем контроллере и добавить возможность асинхронности. Я не уверен, правильно ли я это реализовал. Я удостоверился, что мои данные JSON точны.

Любая помощь приветствуется. (Кроме того, это мой первый пост, поэтому, если я пропустил необходимую деталь, пожалуйста, дайте мне знать.)

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