MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как трябва да съхранявам булеви стойности в mongodb?

Boolean е естествен тип поле в BSON (Форматът за съхранение от страна на сървъра на MongoDB, известен още като "Binary JSON"). Булевите стойности използват по-малко памет от цяло число или низ и избягват всякакви неочаквани странични ефекти от сравнението.

Например в MongoDB find() заявка за низ от "1" няма да съответства на числова стойност 1 или булева стойност true . Ако искате да съхранявате булеви стойности, определено използвайте булев тип.

Сравняване на размера на BSON (в байтове) в mongo shell за пълнота:

// 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

Забележка:основният размер на JSON обекта в примерите по-горе (без да се броят стойностите на полетата) е 8 байта, така че разликата между отчетените Object.bsonsize() е представянето на стойността на полето.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Намерете документи, които съдържат определено поле за подобект MongoDb и Node.js

  2. предаване на mongoose като аргумент на функция

  3. Как да сортирам в мангуста?

  4. Mongo $exists заявката не връща правилни документи

  5. Качвайте файлове в DEFAULT_FILE_STORAGE вместо GridFs с mongoengine