我正在使用javascript API通过查询mongodb过滤项目。无需服务器端处理。我只是查询mongodb并将其响应发送到浏览器以javascript处理它。是否有可能不解析mongodb响应并将其作为字符串通过龙卷风传递给客户端(浏览器)以避免无用的json序列化/反序列化?
答案 0 :(得分:1)
原始MongoDB响应是BSON (Binary JSON),仍需要对JSON进行一些按摩。您可以在specification page上看到BSON类型和编码数据的示例。
我不确定是否有可用的纯JavaScript BSON解析器..但一般来说,使用C等低级语言的序列化要比使用Python和JavaScript等解释语言快得多。 PyMongo驱动程序包含一个用于BSON的C扩展,建议用于性能。
通过基于浏览器的JavaScript尝试做的事情,在从BSON转换为JSON时可能节省的任何服务器端工作都会花费更多。
相关阅读:
PyMongo and Performance - 博客文章比较了使用和不使用BSON C扩展的PyMongo序列化(TL; DR:纯Python中为145秒,C扩展时为8秒)