0

我正在研究通过查询 mongodb 来过滤项目的 javascript API。无需服务器端处理。我只是查询 mongodb 并将其响应发送到浏览器以 javascript 处理它。是否可以不解析 mongodb 响应并将其作为字符串通过龙卷风传递给客户端(浏览器)以避免无用的 json 序列化/反序列化?

4

1 回答 1

1

原始的 MongoDB 响应是BSON(二进制 JSON),它仍然需要对 JSON 进行一些按摩。您可以在规范页面上查看 BSON 类型和编码数据的示例。

我不确定是否有可用的纯 JavaScript BSON 解析器 .. 但总的来说,使用 C 等低级语言进行序列化比使用 Python 和 JavaScript 等解释语言快得多。PyMongo 驱动程序包含 BSON 的 C 扩展,建议使用它来提高性能。

尝试通过基于浏览器的 JavaScript 进行从 BSON 转换为 JSON 时可能节省的任何服务器端工作都将更加昂贵。

相关阅读:

  • PyMongo 和性能- 博客文章比较了使用和不使用 BSON C 扩展的 PyMongo 序列化(TL;DR:纯 Python 中的 145 秒与使用 C 扩展的 8 秒)

  • BSON 规范

于 2012-11-25T22:47:53.473 回答