假设我正在为我正在更新的文档的属性生成autoValue。但是,我需要现有文档的一个(或多个)属性,我在autoValue函数中无法访问这些属性。
例如: 我正在为文档生成autoIncrement值。我需要doc.company和doc.date属性来计算它。但是,我只是更新,比方说doc.isFinished属性。因此,无法通过this.field()访问doc.date。
非常感谢! :)
答案 0 :(得分:3)
这正是this.field
方法的用途,但请注意,您应该将field
传递给它,不是 doc.field
。例如:
YourCollectionSchema = new SimpleSchema({
...
autoIncrement: {
type: Number,
autoValue: function() {
var company = this.field('company').value,
data = this.field('data').value;
return // WHATEVER YOU NEED TO CALCULATE THE VALUE OF autoIncrement
}
},
...
});
显然这可能不符合您的确切要求,但应该演示如何获得autoValue中其他字段的值。如果这种设置对您不起作用,请粘贴您的代码,因为它对我来说非常适合。