simple field
There are three types of type
values:
- simple
bigdecimal
,biginteger
,boolean
,binary
,date
,double
,integer
,string
- container
array
,object
- reference
reference
- free-form
any
This section is focusing on the simple types.
bigdecimal & biginteger
If a field is defined as biginteger or bigdecimal in metadata it is stored as a string on the back end. Therefore operators < and > are not allowed during search.
boolean
Values can be true
or false
.
binary
An open-ended data type for storing binary data, it is recommended that each use of this field clearly indicates what encoding is used. For example, in java use DatatypeConverter.printBase64Binary(byte[]). Note there are limits on document sizes, see MongoDB Limits and Thresholds documentation.
date
JSON does not have a standard format for date. In lightblue we are using the following format: YYYYMMDDTHHmmssSSSS+-ZZZZ
For example, to represent noon on Janurary 1, 2016 EST: 20160101T1200000000-0500
double
Floating point number. If precision is important use bigdecimal
.
integer
A 64 bit integer.
string
Any field with text. Limits on size can be imposed using constraints: minLength
, maxLength
uid
Exists but is deprecated. Do not use! Instead use type
of string
and a value generator. The following example is a 1:1 replacement for the old uid
type where it also implied identity
constraint.
"fieldName": {
"type": "string",
"constraints": {
"identity": true
},
"valueGenerator": {
"type": "UUID"
}
}