是否有标准的面向文档的数据库/MongoDB模式



我知道对象数据库的好处是可以以您可能使用它的格式加载和保存数据。但是,如果我从数据库加载一个对象,在客户端上操作它,然后将其发回,如何确保新数据不会恶意进入?

[GET] => /users/1

{
  "name": "john doe"
}

[PUT] => /users/1

{
  "name": "john doe",
  "extra properties": "just cluttering your db"
}

这也提出了一个问题,即如何防止数字被设置为整数?是否有可以附加到数据库的架构?您需要使用映射器吗?

不知道确切 如果有标准模式,但有一件事你可以回答你的问题,那就是使用 mongoDB 文档验证器。它是在版本 3.2 中引入的,允许您在更新和插入期间验证文档。需要在创建集合时定义它。

整数大小写 这将是:

db.createCollection( "users",
   { validator: {
       number: { $type: "int" }
   }
} )

文档验证器支持类型:

https://docs.mongodb.com/manual/reference/operator/query/type/

关于文档验证器的官方信息:

https://docs.mongodb.com/manual/core/document-validation/

最新更新