Boolean je nativní typ pole v BSON
(Formát úložiště na straně serveru MongoDB, známý také jako „binární JSON“). Booleany využívají méně úložiště než celé číslo nebo řetězec a vyhýbají se jakýmkoli neočekávaným vedlejším účinkům porovnávání.
Například v MongoDB find() dotaz na řetězec "1" nebude odpovídat číselné hodnotě 1 nebo booleovská hodnota true . Pokud chcete ukládat booleovské hodnoty, rozhodně použijte booleovský typ.
Porovnání velikosti BSON (v bajtech) v mongo shell pro úplnost:
// Number (JavaScript double) - 8 bytes
> var foo = { a: 1 }
> Object.bsonsize(foo)
16
// UTF-8 String - 6 bytes
> var foo = { a: '1'}
> Object.bsonsize(foo)
14
// 32-bit int - 4 bytes
> var foo = { a: NumberInt(1)}
> Object.bsonsize(foo)
12
// Boolean - 1 byte
> var foo = { a: true}
> Object.bsonsize(foo)
9
Poznámka:Základní velikost objektu JSON ve výše uvedených příkladech (bez započtení hodnot polí) je 8 bajtů, takže rozdíl mezi nahlášeným Object.bsonsize() je reprezentace hodnoty pole.