“this”代表“this.model('Animal')”和“this.type”代码如下?

时间:2014-02-03 10:31:07

标签: node.js mongoose

嘿,我是mongoose和node.i中的新手。我在下面的代码中有点混淆:

 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);
});

以下代码中this实例在this.model('Animal')this.type中的含义是什么?

1 个答案:

答案 0 :(得分:1)

在像findSimilarTypes这样的实例方法中,this是数据库中文档的模型实例。

因此this.model('Animal')正在查找Animal模型,this.type是调用type时使用的模型实例的findSimilarTypes属性。