是否有标准的面向文档的DB/MongoDB模式?

是否有标准的面向文档的DB/MongoDB模式?,mongodb,document-database,document-oriented-db,object-oriented-database,Mongodb,Document Database,Document Oriented Db,Object Oriented Database,我知道对象数据库的好处是,数据可以以您可能使用的格式加载和保存。但是,如果我从数据库加载一个对象,在客户机上对其进行操作并将其发送回,我如何确保新数据不会恶意进入 [GET]=>/users/1 { "name": "john doe" } { "name": "john doe", "extra properties": "just cluttering your db" } [PUT]=>/users/1 { "name": "john doe" } { "name

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

[GET]=>/users/1

{
  "name": "john doe"
}
{
  "name": "john doe",
  "extra properties": "just cluttering your db"
}
[PUT]=>/users/1

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

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

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

int的情况应该是:

db.createCollection( "users",
   { validator: {
       number: { $type: "int" }
   }
} )
文档验证程序支持类型:

有关文档验证程序的官方信息: