我试图将“方法”添加到架构中。我通过架构选项将一个函数分配给“方法”对象。但它不起作用(返回错误)。
const userSchema = new mongoose.Schema({},
{ statics: {}},
{ methods: {
generateAuthToken() {
const token = jwt.sign({ _id: this._id.toString() }, "nodejstraining");
return token;
},
}
)
当我将一个函数赋给“methods”对象时,代码正在工作(我得到了标记):
userSchema.methods.generateAuthToken = function () {
const token = jwt.sign({ _id: this._id.toString() }, "nodejstraining");
return token;
};
这是一个路由器:
router.post("/users/login", async (req, res) => {
try {
const user = await .... // I'm getting a 'user' here
const token = await user.generateAuthToken();
res.send({ user, token });
} catch (err) {
res.status(400).send("Unable to login");
}
});
为什么第一个选项不起作用?谢谢。
1条答案
按热度按时间h6my8fg21#
“静态”和“方法”应该是一个参数的组成部分。
不是
但是