据我所知,Node.js支持BSON (不确定是本地的还是使用npm包)。然而,Meteor发明了一种新口味的EJSON (增强型JSON),但我看不出它带来了什么优势,以及它比直接使用BSON更好。
是否有人知道EJSON相对于BSON的优势,或者当已经有JSON和BSON可用时需要why的原因是什么?
发布于 2014-05-20 09:06:03
嗯,这并不是说布森已经走了,它实际上还在那里。Meteor MongoDB驱动程序部分构建在MongoDB的本机节点驱动程序之上,当然它使用BSON与MongoDB进行实际对话,而且没有其他方法,因为这就是MongoDB所讲的语言。
AFAIK,EJSON的目的是保持BSON所固有的“类型保真度”,这是BSON在转换到只理解JavaScript的客户机时所固有的二进制定义。所以主要是浏览器。
因此,作为Meteor的目标之一,为了使客户端代码和服务器端代码之间的差异变得更加透明,它需要一种机制来维护这种“类型保真度”,用于Dates、ObjectId等客户端和服务器之间的数据传输。
因此,and和JSON的区别在于,产生的JSON包含识别这些“类型”的特殊键,这样就可以正确地处理这些类型,特别是在与服务器进程交谈时。
https://stackoverflow.com/questions/23754969
复制相似问题