sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan skal jeg gemme booleske værdier i mongodb?

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.



  1. Mongoose udløber data, men beholder i databasen

  2. Hvordan kan jeg lave en betinget søgning i pymongo?

  3. MongoDB:hvordan man finder dokumenter, der ignorerer store og små bogstaver, accenter og procent som logik (%)

  4. Selleriopgave afventer altid