验证mongodb集合字段时,autoValue不起作用

时间:2016-07-14 17:36:55

标签: meteor meteor-collection2 simple-schema

我正在尝试根据已存储的值使用autoValue设置值 我正在使用流星1.3.4.1

以前用于meteor 1.1.0.2

这是我的代码:

    id: { 
    type: String,
    label: "ID",
    autoValue: function() {
        var isFirstTime = this.field("profile.isFirstTime").value;
        var isApproved = this.field("profile.changesApproved").value; 
        var value = this.field("profile.unapproved_id").value;
        var userId = this.userId;
        var user = Meteor.users.findOne({_id: userId});
        if (user && user.profile && user.profile.id)
        {
            return user.profile.id;
        }
    }
}

我希望返回user.profile.id的值,因为user.profile.id在users集合中有一个值,但是我得到一个从输入字段传递的值。如何使用简单模式来注意集合值,就像它在meteor 1.1.0.2

上一样

1 个答案:

答案 0 :(得分:0)

我认为这里令人困惑的部分是'这个'关键词。在autoValue函数()的上下文中,这可能是对象本身,除非SimpleSchema绑定了一些其他上下文。

因此建议您使用调试器跟踪代码并检查它的值。如果它不是您认为的那样,请检查它的定义