如何在将快速表单存储到数据库之前为其添加额外的属性?

时间:2016-03-04 13:57:21

标签: meteor meteor-autoform

我有一个全局变量,用于存储用户上传图像的url。 在将该变量添加到数据库之前,如何将该变量添加为文档中的属性?

这是我的代码

Meteor.methods({
    submitPost: function (app) {
        // Console.log('new App:', app);
        check(app, {
            title: String,
            description: String,
            category: String,
            price: Number
        });
        Products.insert(app);
    }

});

我想在" app"中添加全局变量在将其插入产品集合之前

我该怎么做?

这是我在集合中添加的内容

previewImage: {
    type: String,
    autoValue: function(){
      return PIurl;
    },
    autoform: {
      type: "hidden"
    }
  },
  createdAt:{
    type: String,
    autoValue: function(){
      return new Date();
    },
    autoform: {
      type: "hidden"
    }
  }
}));

我添加上面的代码后,当我点击提交时没有任何反应,表单不再存储在数据库中

1 个答案:

答案 0 :(得分:2)

您可以通过两种方式实现此目标,第一种方法是使用AutoForm.hooks onSubmit挂钩autoform hooks。另一种方法是使用对象属性autoValue

将其添加到架构中
 Schema.something = new SimpleSchema({
     category: {
       type: String,
       autoValue: function () {
        return "foo";
       }
     },