动态 Table 每个型号的规格 Object

Dynamic Table Specification Per Model Object

我正在尝试找出一种方法来创建动态模型类型,存储在它们各自的 collection 中(对于 CMS)。我希望能够定义一个新的 "content type" 并将其存储在自己的 collection 中,并使用标准 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
     - …

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

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

听起来它完全符合您的描述:在没有 lowering/re-lifting 风帆的情况下即时重新加载模型。

因此,作为一种基本方法:在您正在编程的管理界面中,添加内容类型并将其写入 /api/models/ 文件夹。但是请注意这个安全问题!然后当一个模型被创建时,这个钩子将检测到并将新模型加载到内存中。更改和删除模型应该发生同样的情况,但我没有测试过这个所以我不能告诉你。

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

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

糟透了!如果有人有好的解决方案,请告诉我,我会将其标记为解决方案:)