Я пытался создать метод в своей пользовательской схеме в mon goose, однако он продолжает говорить, что метод не является функцией, и я понятия не имею, почему. Я довольно плохо знаком с mon goose и express, и я почти уверен, что мои файлы настроены в настоящее время, поэтому я не знаю, что может быть причиной этой проблемы. В качестве последней попытки я попытался переключиться на функции стрелок, но это тоже не сработало.
файл пользовательских маршрутов
const router = require("express").Router();
let user = require("../models/user_model");
const Joi = require("@hapi/joi");
// GET dreams
// POST dreams
// DELETE dreams
// UPDATE dreams
router.route("/").get((req, res) => {
console.log(user.addType());
res.send("hello this is a users page");
});
файл модели пользователя
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const userSchema = new Schema(
{
username: {
type: String,
required: true,
unique: true,
trim: true,
min: 3
},
password: {
type: String,
trim: true,
required: true,
min: 6
}
},
{
timestamps: true
}
);
userSchema.methods.addTypes = function() {
console.log("woof");
};
userSchema.methods.joiValidate = data => {
let Joi = require("@hapi/joi");
const schema = {
username: Joi.string()
.min(6)
.required(),
password: Joi.string()
.min(6)
.required()
};
return schema.validate(data);
};
module.exports = mongoose.model("User", userSchema);