本アダプタでサポートするDocumentDBのJSON型と、内部データ型(スキーマ型)との対応は以下の通りです。
DocumentDBデータ型名 | サポート | スキーマ型名 | 備考 |
string | ○ | String | |
number | ○ | BigDecimal | |
true/false | ○ | boolean | |
null | ○ | - | スキーマ型を問わずnullとして扱います。 |
object | × | - | |
array | × | - | |
Azure DocumentDBでの数値型はIEEE754 倍精度です。
- IEEE754 倍精度を超える数値をBigDecimal型としてDocumentDBへ書き込むと、数値が丸められます。(エラーにはなりません)
- 丸めを避けたいのであれば、ドキュメント書き込み時にスキーマ型をString型としてください。
- ただし、DocumentDBにstring型として保存されるため、数値に対するSQLが利用できなくなります。
DocumentDBがサポートするデータ型については以下のページを参照してください。
- 「DocumentDB に関してよく寄せられる質問」-(https://azure.microsoft.com/ja-jp/documentation/articles/documentdb-faq/)
ドキュメントに対してDocumentDBが生成する項目に、「_rid」「_ts」「_self」「_etag」「_attachments」などがあります。
これら項目については、任意の値を書き込むことはできません。
DocumentDBが生成する項目は名称の先頭がアンダースコア(_)であるため、スキーマ定義する項目名の先頭にはなるべくアンダースコアを付けないようにしてください。
DocumentDBシステムが生成する項目については以下のページを参照してください。
- 「System vs. user defined resources」-(https://azure.microsoft.com/en-us/documentation/articles/documentdb-resources/#system-vs-user-defined-resources)
- 「Operations on DocumentDB Documents」-(https://msdn.microsoft.com/en-us/library/azure/dn782247.aspx)
DocumentDBアダプタでは、4種類の一貫性(「Strong」「Bounded-Staleness」「Session」「Eventual」)のうち、「Session」を使用しています。
DocumentDBでの一貫性については以下のページを参照してください。
- 「Using consistency levels to maximize availability and performance in DocumentDB」-(https://azure.microsoft.com/en-us/documentation/articles/documentdb-consistency-levels/)