Quantcast
Channel: CNode:Node.js专业中文社区
Viewing all articles
Browse latest Browse all 14821

看mongoose文档对实例方法里面的this有个疑问。麻烦大家一下

$
0
0
var animalSchema = new Schema({ name: String, type: String });

animalSchema.methods.findSimilarTypes = function(cb) {
  return this.model('Animal').find({ type: this.type }, cb);
};

调用:

var Animal = mongoose.model('Animal', animalSchema);
var dog = new Animal({ type: 'dog' });

dog.findSimilarTypes(function(err, dogs) {
  console.log(dogs); // woof
});

这段return this.model('Animal').find({ type: this.type }, cb);

这里有两个this,我理解的是这个this是animalSchema,但是后面的type: this.type。这个type分明是dog这个实例。

有些疑惑,请教下。


Viewing all articles
Browse latest Browse all 14821

Trending Articles