Sails Js - 防止非模型字段保存在 mongo 文档中

Sailsjs - Prevent non-model fileds to be saved in mongo document

我最近开始使用 Sailsmongo。 我使用 Sails 蓝图来生成我的 api 的一部分。 问题是,无论模型中定义的字段如何,我发送的请求正文都保存到 mongo 集合中。

例如,假设我有以下 Event 模型:

module.exports = {

  attributes: {

    title: {
     type: 'string',
     required: true
    },
  } 
}

当我使用以下参数向 /event/ 端点发送 POST 请求时:

{"title":"Some Event", "random":"string"}

保存的 mongo 文档还包含 "random":"string" 值,即使它不是模型的一部分。

我试图想出一些通用方法在为所有模型创建之前删除非模型属性,但可能的解决方案似乎不正确和肮脏。

我是不是漏掉了什么?

如有任何帮助,我们将不胜感激!

您可以在模型中使用 schema 选项。只需将它添加到模型声明即可。

// api/models/Model.js
module.exports = {
  schema: true,
  attributes: {
    title: {
      type: 'string',
      required: true
    }
  }
};