0
const mongoose = require("mongoose"),
requiredAttr = {type: String, required: true},
employeeSchema = new mongoose.Schema({
employeeNumber: {
type: String,
unique: true,
required: true
},
firstName: requiredAttr,
lastName: requiredAttr,
image: requiredAttr
},
{
timestamps: true //get createdAt, updatedAt fields
});
employeeSchema.methods.writeThis =() => {
console.log("doing writeThis");
console.log(this);
};
module.exports = mongoose.model("Employee", employeeSchema);
始终产生猫鼬实例方法失去执行上下文
doing writeThis
{} //would think I would see my employee properties here
然后我测试一些基本的上下文经由节点命令行切换,并找到我不能执行以下操作(如在浏览器中)
let test = { foo: "bar" };
let writeThis =() => { console.log(this); };
writeThis.apply(test); //or
writeThis.bind(test);
我错过了什么?
它:但是,您可以通过编辑它被定义的情况下改变它!感谢您及时的回复 –