Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB JSON还是BSON?_Mongodb - Fatal编程技术网

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或更好的数据特定字段,也可以获取字段长度,还有很多其他的东西