MongoDB JSON还是BSON?
MongoDB JSON还是BSON?,mongodb,Mongodb,我只是在学习MongoDB,但我对MongoDB接受的数据格式有点困惑。因此,根据定义,我理解: “MongoDB实际上并不使用JSON来存储数据,而是使用 MongoDB团队开发的一种称为“BSON”的开放数据格式 这很清楚,但我刚刚了解到,实际上可以将JSON文档导入mongodb。所以说您可以使用JSON格式将数据插入MongoDB,但出于性能原因,数据在内部被安排到BSON中,这样说对吗?希望有人能解释一下。是的,没错。MongoDB使用BSON来提高性能。看 有多种方法可以使使用Mon
我只是在学习MongoDB,但我对MongoDB接受的数据格式有点困惑。因此,根据定义,我理解: “MongoDB实际上并不使用JSON来存储数据,而是使用 MongoDB团队开发的一种称为“BSON”的开放数据格式
这很清楚,但我刚刚了解到,实际上可以将JSON文档导入mongodb。所以说您可以使用JSON格式将数据插入MongoDB,但出于性能原因,数据在内部被安排到BSON中,这样说对吗?希望有人能解释一下。是的,没错。MongoDB使用BSON来提高性能。看 有多种方法可以使使用MongoDB变得容易。在大多数情况下,您不必担心BSON,因为它是为您处理的。并非真正为了“性能” BSON是JSON的解释版本,它允许存储和操作对象,如
ISODate
和OjbectId
。它允许MongoDB生成语法和对象丰富的文档,超出JSON的能力
BSON通常比JSON占用更多的空间,这是因为它使用了对象,而且并没有明显的性能提升。它是关于可以与文档一起使用和排序的描述性对象
MongoDB完全使用BSON进行通信,包括查询结果。当我们使用MongoDB时,我们输入json数据,但MongoDB驱动程序可以将其转换为BSON数据。它的速度更快,更有效的空间和格式大小。有关更多信息,请查看以下官方文件:。有关Bson数据类型的更多信息,请查看此官方链接:谢谢!请注意,MongoDB中的查询结果也是纯JSON,对吗?是的,MongoDB的输入和输出是JSON,只是内部不可见存储格式是BSON。@模拟否,驱动程序反序列化shell的BSON到JSON语法,通常,驱动程序将反序列化到语言自己的主要对象,如字典或对象。所有通信都在BSONBTW中。您可以使用Robomongo在MongoDb上管理和运行查询:。提供了一个很好的可视化视图:)BSON还包含了不属于JSON规范的数据类型的低代表性。检查:FWIW,类似的类比是,您可以将表格数据(例如CSV文件)导入到关系数据库表中。可以方便地将数据结构看作类似CSV的行和列,但wire协议和存储格式可能与输入和查询格式有很大不同。BSON(Binary JSON)是“类似于JSON”的,因为两者都可以表示相似的数据结构,但BSON使用二进制格式(JSON是文本),可以表示更丰富的数据类型(例如32位整数vs 64位整数vs double;JSON只有一个通用的数字类型,即double)。谢谢您的回复,但不确定您的意思“包括查询结果”。假设这是JSON{“hello”:“world”},这是对应的BSON:\x16\x00\x00\x00\x02 hello\x00\x06\x00\x00\x00world\x00\x00(作为新手)该查询结果是带有唯一标识符的JSON。@user2824073的基本形式BSON和JSON非常相似,为什么不试试:
{id:ObjectId('34456567')}
?@user2824073或更好的数据特定字段,也可以获取字段长度,还有很多其他的东西