Как я могу добавить 3 поля с моделью Mongoose, используя функцию pre - PullRequest
0 голосов
/ 09 апреля 2019

Я решил добавить prelimGrade, midtermGrade, finalsGrade в мою общую оценку и разделить ее на 3. Этот код дает мне нулевое значение.

Я попытался выполнить поиск здесь и нашел проблему с решениемно значение также дает мне ноль.

Вот мой код в моей схеме Test.js

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

const TestSchema = new Schema({
  prelim: { type: Number, default: 1 },
  midterm: { type: Number, default: 1 },
  finals: { type: Number, default: 1 },
  overall: { type: Number }
});

module.exports = Test = mongoose.model("tests", TestSchema);

TestSchema.pre("save", function(next) {
  this.overall = (this.prelim + this.midterm + this.finals)/3;
  next();
});

, и это мой код на моем маршруте

router.post("/test", (req, res) => {
  const { prelim, midterm, finals, overall } = req.body;
  const test = new Test({
    prelim,
    midterm,
    finals,
    overall
  });
  test.save().then(test => {
    res.json(test);
  });
});

Я ожидаю, что это даст мне ценность, но даст мне ноль.

1 Ответ

0 голосов
/ 09 апреля 2019

module.exports должен быть после testSchema. Это сработало для меня

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