javascript - 你如何设置 Meteor.userId() 以在自动表单/简单模式中使用?

标签 javascript meteor

假设我想在用户登录后显示他们的购物项目列表。我正在使用自动表单和简单模式来生成表单元素。当用户第一次登录时,会显示一个空白的购物 list 表单。提交表单时,购物 list 将保存在数据库中。

我想知道的是如何为每个用户保存这些数据。

通常我会这样做:

      ShoppingList.insert({
        name: item_name,
        price: 0,
        createdBy: Meteor.userId()
      });

我如何使用自动表单和简单模式实现这一点?是否可以做这样的事情:

Schema.ShoppingList = new SimpleSchema({
item: {
    type: String,
    regEx: /^[a-zA-Z-]{2,25}$/
},
price: {
    type: Number,
    regEx: /^[0-9]{2,25}$/
},
createdBy: {
    type: String,
    value: Meteor.userId()
}
});

再次感谢:)

最佳答案

如果您还使用 Collection2,则使用 autoValue:

Schema.ShoppingList = new SimpleSchema({
item: {
    type: String,
    regEx: /^[a-zA-Z-]{2,25}$/
},
price: {
    type: Number,
    regEx: /^[0-9]{2,25}$/
},
createdBy: {
    type: String,
    autoValue:function(){ return this.userId }
}
});

阅读更多: https://github.com/aldeed/meteor-collection2/

关于javascript - 你如何设置 Meteor.userId() 以在自动表单/简单模式中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25369368/

相关文章:

javascript - 缩放和平移 svg

javascript - 获取 meteor 中语义 Accordion 的当前状态

meteor - 我什么时候应该订阅 meteor 中的收藏?

html - 如何在 Jade 中使用 Hammer.js Touch Area

javascript - JS 条件语句不起作用

javascript - 尝试将链接添加到 js 中的事件单击中 - Simplecart

javascript - 如何在 Meteor 中对带有输入单元格表的表单进行响应式(Reactive)绑定(bind)?

javascript - 为什么在 IE9 中 Select Element 的类型是 DispHTMLWndSelectElement 而不是 HTMLSelectElement?

javascript - Meteor、Ember.js 和 Backbone.js 之间的主要区别是什么?

javascript - 当 Meteor Blaze 订阅准备就绪时加载功能?