流星aldeed / meteor-collection2 autoValue抛出错误

时间:2016-08-12 22:23:33

标签: meteor meteor-collection2 simple-schema

我正在尝试在架构中使用autoValue

Posts.schema = new SimpleSchema({
    title: { type: String },
    description: { type: String },
    posted: { type: Date,
        autoValue: function (){
            return new Date;
        },
    },
    likes: { type: Number, defaultValue: 0, optional: true },
    dislikes: { type: Number, defaultValue: 0, optional: true, },
    author: { type: AuthorSchema },
    votes: { type: [AuthorSchema], optional: true }
});

Posts.attachSchema(Posts.schema);

我在这里使用此架构进行验证:

export const addPost = new ValidatedMethod({
    name: 'Posts.addPost',
    validate: Posts.schema.validator(),
    run(post) {
        if (!this.userId)
            throw new Meteor.Error('403', 'You must be logged-in to reply');
        Posts.simpleSchema().clean(post);

        Posts.insert({
            title: post.title,
            description: post.description,
            author: {
                userId: this.userId,
                vote: 0
            }
       });
    }
});

它不起作用。我收到一条错误消息

  

已发布是必需的[validation-error]

我做错了吗?我需要将发布字段设为可选吗?

我尝试通过为posted:new Date()提供默认值来更改insert方法。也没用。请帮忙。

1 个答案:

答案 0 :(得分:0)

通过使用{clean:true,filter:false}

调用验证器来修复它