gpt4 book ai didi

javascript - 为什么 Meteor 直接使用 EJSON 而不是 BSON?

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

据我了解,Node.js 支持 BSON(不确定是原生还是带有 npm 包)。然而 Meteor 发明了一种新风格的 EJSON(增强型 JSON),但我看不出它带来了什么优势,以及它比直接使用 BSON 更好。

有谁知道 EJSON 相对于 BSON 的优势是什么,或者当已经有可用的 JSON 和 BSON 时需要 EJSON 的原因是什么?

最佳答案

好吧,BSON 并没有消失,它实际上仍然存在。 Meteor MongoDB 驱动部分建立在 native node driver for MongoDB 之上。当然是使用 BSON 与 MongoDB 进行实际对话,而且没有其他方法,因为这是 MongoDB 所说的语言,可以这么说。

AFAIK,EJSON 的重点是在翻译到只理解 JavaScript 和 JSON 的客户端时,通过它的二进制定义来保持 BSON 中固有的相同类型的“类型保真度”。所以主要是浏览器。

因此,Meteor 目标的一部分是使客户端和服务器端代码之间的差异有些透明,它需要一种机制来维护这种“类型保真度”,对于 DatesObjectId 等,在客户端和服务器之间传输数据时。

因此,EJSON 和 JSON 的区别在于,生成的 JSON 包含标识这些“类型”的特殊键,因此可以以这种方式正确处理它们,尤其是在与服务器进程通信时。

关于javascript - 为什么 Meteor 直接使用 EJSON 而不是 BSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23754969/

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