用流星中的mongodb将数据存储在数据库中

时间:2015-10-22 15:12:42

标签: javascript node.js mongodb meteor

我知道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数据库?

1 个答案:

答案 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()
});