我知道in mongodb there is a way to save a function in the database。我试图在Meteor中做类似的事情,在那里我创建一个集合,为给定的匹配正则表达式注册回调。那就是:像这样的结构。
{
socket: 'messages',
event: XRegExp(`^
(?<component>Arm)
(?<x>\d)(?<y>\d)(?<z>\d)
$`, 'x'),
handler: function (component, x, y, z) {
console.log('Arm moved moved to position: ${x} ${y} ${z}');
}
}
但是,我无法将该功能保存到数据库中。我基本上想要使用exec
正则表达式并将args应用于handler
。
是否可以使用meteor将函数保存到mongo数据库?
答案 0 :(得分:2)
这样的事情可能有用。
MyCollection = new Meteor.Collection('mycollection', {
transform: function(x) {
var y = _.extend({}, x);
y.handler = new Function("return " + x.handler)();
return y;
}
});
MyCollection.insert({
socket: 'messages',
event: XRegExp(`^
(?<component>Arm)
(?<x>\d)(?<y>\d)(?<z>\d)
$`, 'x'),
handler: myfunction.toString()
});