mongoose.js
如何从以下位置返回对象:
var silence = new Kitten({
name: 'Silence'
});
console.log(silence); // { name: 'Silence' }
但如果您检查源代码Kitten
是this code上名为model
的函数,则该函数会指向文档源代码here。
function Document (obj, fields, skipId) {
this.$__ = new InternalCache;
this.isNew = true;
this.errors = undefined;
//...
this._doc = this.$__buildDoc(obj, fields, skipId);
if (obj) {
this.set(obj, undefined, true);
}
}
这意味着应该返回类似的内容:
var silence = new Kitten({
name: 'Silence'
});
console.log(silence); // { _obj: { name: 'Silence' } }
那么他们如何返回另一个对象而不是构造的类本身呢?
进一步调查:
手动更改ret
here会使该类返回指定的ret。