我知道对象数据库的好处是可以以您可能正在使用它的格式加载和保存数据。但是如果我从数据库加载对象,在客户端上操作它,以及发送回来,我如何确保新数据不会恶意进入?
[GET] => /users/1
{
"name": "john doe"
}
[PUT] => /users/1
{
"name": "john doe",
"extra properties": "just cluttering your db"
}
这也提出了如何阻止数字设置为int的问题?是否有可以附加到数据库的模式?你需要使用映射器吗?
答案 0 :(得分:0)
不确切知道如果有标准架构,但有一件事您可以回答您的问题是使用mongoDB文档验证器。它是在3.2版中引入的,允许您在更新和插入期间验证文档。需要在创建集合时定义它。
int case它是:
db.createCollection( "users",
{ validator: {
number: { $type: "int" }
}
} )
文档验证器支持类型:
https://docs.mongodb.com/manual/reference/operator/query/type/
有关文件验证员的官方信息: