MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để lưu trữ các giá trị boolean trong mongodb?

Boolean là một loại trường gốc trong BSON (Định dạng lưu trữ phía máy chủ của MongoDB, hay còn gọi là "Binary JSON"). Boolean sử dụng ít bộ nhớ hơn một số nguyên hoặc chuỗi và tránh mọi tác dụng phụ không mong muốn của việc so sánh.

Ví dụ:trong MongoDB find() truy vấn một chuỗi "1" sẽ không khớp với giá trị số của 1 hoặc giá trị boolean của true . Nếu bạn muốn lưu trữ các giá trị boolean, chắc chắn phải sử dụng kiểu boolean.

So sánh kích thước BSON (tính bằng byte) trong mongo vỏ cho sự hoàn chỉnh:

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

Lưu ý:kích thước cơ sở của đối tượng JSON trong các ví dụ trên (không tính giá trị trường) là 8 byte, do đó, sự khác biệt giữa Object.bsonsize() được báo cáo là đại diện của giá trị trường.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. java spring MappingJacksonJsonView không làm toString trên mongodb ObjectId

  2. Thay thế cho việc lặp lại con trỏ Pymongo

  3. Cập nhật Mảng nơi nó tồn tại hoặc Chèn Mục Mảng mới

  4. Spring Data MongoDB với Java 8 LocalDate MappingException

  5. Tổng hợp MongoDB với $ lookup chỉ bao gồm (hoặc dự án) một số trường để trả về từ truy vấn