在MongoDB中存储用户创建的逻辑

时间:2016-04-28 02:09:29

标签: javascript mongodb database-design

我有一个节点应用程序(express.js),我想创建一个Web界面,用户可以在其中实现一些关于何时触发事件的逻辑。所有这些都必须存储在数据库(MongoDB)上。 (也欢迎其他想法)

我希望用户实现完整的if / while语句。 好像你有一个包含变量的列(特定模型的各种文档的mongo字段),你可以根据需要测试它们中的任何一个(例如,添加它们,将它们分开,将它们与值或其他变量进行比较)。 此外,您还有另一个包含事件(实际上是js函数)的列,当if / while语句为true时将触发这些事件,例如发送带有变量值的电子邮件或发送带有警告消息的推文。

我知道在文档中保存函数不是一个好主意。 Mongo旨在存储文档,而不是代码。这是真的吗?

我该如何设计?

代码不是我想要的,但它总是受欢迎的。也很抱歉,但我不是一个书人,我不想要书/ pdf推荐。

1 个答案:

答案 0 :(得分:0)

似乎最好的选择是存储用户在文档中输入的javascript代码(通过文本编辑器或通过拖动块创建)并在单独的node sandbox中执行。

我有点担心虚拟机的安全性,但节点在生产环境中使用,所以它可能只是我的想法......