每个模型对象的动态表规范

时间:2015-06-12 14:43:07

标签: node.js mongodb sails.js waterline

我试图想出一种创建动态模型类型的方法,存储在各自的集合中(对于CMS)。我希望能够定义一个新的“内容类型”,并将其存储在自己的集合中,并使用标准的Sails模型来控制每个模型。

我正在尝试在保存之前和提取之前设置tableName,但是没有成功。

这样的事情:

(Model) Content:
 - id
 - createdDate
 - contentType
 - {n...fields}

(Model) ContentType:
 - id
 - collection (to which each content object would store)
 - name
 - fields
   - field{n}
     - type
     - name
     - required
     - …

我只是不确定如何在sails.js / waterline中实现这一点

2 个答案:

答案 0 :(得分:2)

这是帆的可能解决方案> = 0.11.0:https://github.com/sgress454/sails-hook-autoreload

听起来它完全符合您的描述:在不降低/重新提升风帆的情况下重新加载模型。

作为一种基本方法:在您正在编程的管理界面中,添加内容类型并将其写入/ api / models /文件夹。但请拜托,请注意这个安全问题!然后,当创建模型时,此挂钩将检测到该模型并将新模型加载到内存中。改变和删除模型也应该这样,但我还没有对此进行测试,所以我无法告诉你。

答案 1 :(得分:1)

根据Sails GitHub页面,这是不可能的,至少不是我希望这样做的方式:

https://github.com/balderdashy/sails/issues/1160

无赖!如果有人有一个很好的解决方案,请告诉我,我会将其标记为解决方案:)