Boolean
er en indbygget felttype i BSON
(MongoDBs serverside-lagringsformat, alias "Binary JSON"). Booleans bruger mindre lagerplads end et heltal eller en streng og undgår uventede bivirkninger ved sammenligning.
For eksempel i en MongoDB find()
forespørg en streng med "1"
vil ikke matche en numerisk værdi på 1
eller en boolsk værdi på true
. Hvis du vil gemme booleske værdier, skal du helt sikkert bruge en boolesk type.
Sammenligning af BSON-størrelsen (i bytes) i mongo
skal for fuldstændighedens skyld:
// 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
Bemærk:JSON-objektets basisstørrelse i eksemplerne ovenfor (ikke medregnet feltværdierne) er 8 bytes, så forskellen mellem den rapporterede Object.bsonsize()
er repræsentationen af feltværdien.