Boolean
adalah jenis bidang asli di BSON
(Format penyimpanan sisi server MongoDB, alias "Binary JSON"). Boolean menggunakan lebih sedikit penyimpanan daripada integer atau string dan menghindari efek samping perbandingan yang tidak terduga.
Misalnya, dalam find()
Mon MongoDB kueri string "1"
tidak akan cocok dengan nilai numerik 1
atau nilai boolean true
. Jika ingin menyimpan nilai boolean, pasti menggunakan tipe boolean.
Membandingkan ukuran BSON (dalam byte) di mongo
shell untuk kelengkapan:
// 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
Catatan:ukuran dasar objek JSON pada contoh di atas (tidak termasuk nilai bidang) adalah 8 byte, jadi selisih antara Object.bsonsize()
yang dilaporkan adalah representasi dari nilai bidang.