1
在Meteor應用程序中,我有一個事件應該更新表單上已更改字段的數據庫數據。如何在JavaScript中使用動態變量名而不用評估MongoDB更新?
所以事件處理程序是這樣的:
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的人,而不是一個軟件工程師)
很大,非常感謝很多! –