Как получить модель Mongoose на основе параметров Express - PullRequest
0 голосов
/ 12 сентября 2018

Как я могу динамически получить модель мангуста, имя которой зависит от req.params.model?

Вот пример моей схемы

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const SmartSchema = new Schema({
SmartPriority: {
    type: String,
    required: true
},
SmartClassification: {
    type: String,
    required: true
}
});

module.exports = mongoose.model("smarts", SmartSchema);

Мой код ниже не работает.

router.delete(
"/delete/:model/:id",
passport.authenticate("jwt", { session: false }),
(req, res) => {
    let { model, id } = req.params;
    model.deleteOne({ _id: id }) //model = Mongoose Model/ eg: Smart Schema
        .then(res.status(200).json({ msg: "Success" }))
        .catch(err => {
            res.status(500).send({ msg: err });
        });
}
);

1 Ответ

0 голосов
/ 12 сентября 2018

Вам нужно установить для файла модель .

let { model, id } = req.params;
var Model = require('../models/' + model);
Model.deleteOne({ _id: id })....

Надеюсь, это поможет вам.

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