在Meteor应用程序中,我有一个事件应该更新表单上更改字段的数据库数据。
所以事件处理程序看起来像这样:
Template.someTemplate.events({'change #someForm' : function(){
eval("someCollection.update(Session.get(\"currentId\"), {$set: {" + event.target.name + ":event.target.value}});");
}})
当我使用 eval 时,这很好用。但我怀疑像这样使用 eval 是否被认为是最佳实践,或者是吗?
我将如何编写 MongoDB 更新代码才能完成以下工作?
Template.someTemplate.events({'change #someForm' : function(){
var variableName = event.target.name;
someColletion.update(Session.get("currentId"), {$set: {variableName:event.target.value}});
}})
或者解决这个问题的正确方法是什么?(上面的代码不起作用,对于 MongoDB 更新指令,variableName没有被评估,所以“variableName”被传递而不是它的设置值。
请注意,我想将其用于原型设计,而不是真正的应用程序。所以安全性实际上并不是一个真正的问题。(我是 UX 人,不是软件工程师。)