0

オブジェクト データベースの利点は、おそらく使用している形式でデータを読み込んで保存できることです。しかし、データベースからオブジェクトを読み込んで、クライアントで操作し、送り返す場合は、 、新しいデータが悪意を持って侵入されないようにするにはどうすればよいですか?

[GET] => /users/1

{
  "name": "john doe"
}

[PUT] => /users/1

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

それはまた、数値が int として設定されるのをどのように防止するかという問題を提起しますか? データベースにアタッチできるスキーマはありますか? マッパーを使用する必要がありますか?

4

1 に答える 1

0

標準スキーマがあるかどうか正確にはわかりませんが、質問に答えるためにできることの1つは、mongoDBドキュメントバリデーターを使用することです。バージョン 3.2 で導入され、更新および挿入中にドキュメントを検証できます。コレクションの作成時に定義する必要があります。

int の場合 次のようになります。

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

ドキュメント バリデータのサポート タイプ:

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

ドキュメントバリデータに関する公式情報:

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

于 2016-08-03T22:21:40.720 に答える