Sails Js - 防止非模型字段保存在 mongo 文档中
Sailsjs - Prevent non-model fileds to be saved in mongo document
我最近开始使用 Sails 和 mongo。
我使用 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
}
}
};
我最近开始使用 Sails 和 mongo。 我使用 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
}
}
};