为什么Play框架使用JSON为什么MongoDb使用BSON

为什么Play框架使用JSON为什么MongoDb使用BSON,json,mongodb,scala,playframework,bson,Json,Mongodb,Scala,Playframework,Bson,在处理将Scala数据类型序列化到JSON对象或从JSON对象反序列化,然后将它们以BSON形式存储到MongoDB或从MongoDB存储时,我遇到了很多麻烦 第一个问题:为什么Play框架使用JSON为什么MongoDb使用BSON 第二个问题:如果我没有错的话,Javascript没有用于序列化/反序列化MongoDB中BSON的读写器。这怎么会发生?Javascript可以无缝地处理JSON,但对于BSON,我认为它需要某种阅读器和编写器 第三个问题:(我在某处读到)为什么Salat和Re

在处理将Scala数据类型序列化到JSON对象或从JSON对象反序列化,然后将它们以BSON形式存储到MongoDB或从MongoDB存储时,我遇到了很多麻烦

第一个问题:为什么Play框架使用JSON为什么MongoDb使用BSON

第二个问题:如果我没有错的话,Javascript没有用于序列化/反序列化MongoDB中BSON的读写器。这怎么会发生?Javascript可以无缝地处理JSON,但对于BSON,我认为它需要某种阅读器和编写器


第三个问题:(我在某处读到)为什么Salat和ReactiveMongo使用不同的机制与MongoDB对话。

JSON是当今广泛使用的数据传输格式。因此,在web框架中“从盒子中”获得它非常好。这就是为什么这部戏有它

mongo使用它的原因也一样——最好以与用户查询和保存数据相同的格式存储数据。那么为什么mongo使用BSON而不是JSON呢?BSON与JSON相同,但在每个值上都有附加属性—数据长度和数据类型。原因是——当您查看大量数据(如db query do)时,您需要读取JSON中的所有对象才能访问另一个对象。如果我们知道数据的长度,我们可以跳过阅读

所以您不需要JS中的任何BSON阅读器(它可能在某处,但很少使用),因为BSON是用于内部DB使用的格式

你可以阅读更多信息