sql >> Databáze >  >> NoSQL >> MongoDB

Jak mám ukládat booleovské hodnoty v mongodb?

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.



  1. Jak nainstalovat Apache CouchDB na CentOS 8

  2. Používáte generátory aktivních záznamů po instalaci Mongoidu?

  3. Agregace Mongoose nefiltruje podle data vstupu

  4. Mongoose $lookup kde localField je řetězec ObjectId v ForeignField