gpt4 book ai didi

mongodb - 我应该如何在 mongodb 中存储 bool 值?

转载 作者:IT老高 更新时间:2023-10-28 13:05:31 25 4
gpt4 key购买 nike

我看到了在 mongodb 中存储 bool 信息的三种主要可能性:

  1. 0 或 1 作为字符串
  2. 0 或 1 作为数字
  3. True 或 False 作为 bool 值

就使用的存储空间和查询速度而言,每种方法的优缺点是什么?

最佳答案

BooleanBSON 中的原生字段类型(MongoDB 的服务器端存储格式,又名“二进制 JSON”)。 bool 值比整数或字符串使用更少的存储空间,并且避免了任何意外的比较副作用。

例如,在 MongoDB find() 查询中,字符串 "1" 将不匹配数值 1true 的 bool 值。如果你想存储 bool 值,一定要使用 bool 类型。

比较 mongo shell 中的 BSON 大小(以字节为单位)以确保完整性:

// 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()之间的差异是表示字段值。

关于mongodb - 我应该如何在 mongodb 中存储 bool 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27351143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com