据我了解,Node.js支持BSON(不确定是本机还是使用npm包).然而Meteor发明了一种新的味道E
JSON(增强型
JSON),但是我没有看到它带来了什么优势以及它如何比直接使用BSON更好.
有没有人知道EJSON优于BSON的优点是什么,或者当已经有JSON和BSON可用时,为什么需要EJSON?
@H_301_4@解决方法
好吧,不是BSON已经消失了,它仍然存在. Meteor MongoDB驱动程序部分建立在
native node driver for MongoDB之上,当然使用BSON实际与MongoDB通信,没有其他办法,因为这是MongoDB所说的语言,可以这么说.
AFAIK,EJSON的要点是在转换为只理解JavaScript的客户端时,保持BSON固有的“类型保真度”,因为它是二进制定义,因此也就是JSON.主要是浏览器.
因此,作为Meteor的一部分,目标是使客户端和服务器端代码之间的差异有些透明,它需要一种机制来维护这种“类型保真度”,对于Dates,ObjectId等,在与客户端和服务器之间传输数据时.
因此,EJSON和JSON的区别在于,生成的JSON包含标识这些“类型”的特殊键,因此可以通过这种方式正确处理它们,尤其是在与服务器进程通信时.
@H_301_4@ @H_301_4@ 原文链接:https://www.f2er.com/js/150938.html