21

为了有效地进行服务器端解析,我正在直接为浏览器 javascript 环境寻找 BSON 解决方案。这个想法是通过二进制 websocket 来利用整个 ASCII 空间。有什么建议么?

(也欢迎任何 nodejs 建议)

另见: http ://bsonspec.org/

4

2 回答 2

15

值得一提的是,MongoDB 团队现在似乎有一个受支持的 Javascript BSON 项目:

https://github.com/mongodb/js-bson

我不是该库的专家,但该项目声称可以在 Node 和浏览器中运行。以下是他们网站上的修改示例:

<head>
  <!-- Originally https://raw.github.com/mongodb/js-bson/master/browser_build/bson.js -->
  <!-- But downloaded and hosted locally -->
  <script src="./bson.js"></script>
</head>
<body onload="start();">
<script>
  function start() {
    var BSON = bson().BSON;
    var Long = bson().Long;

    var doc = {
      oid: bson().ObjectID(),
      long: Long.fromNumber(100),
      date: new Date(),
      string: "js-bson sample",
      obj: { 
        string: "Object within an object"
      }
    }
    console.log("doc %o", doc);

    // Serialize a document
    var data = BSON.serialize(doc, false, true, false);
    console.log("data %o", data);

    // De serialize it again
    var doc_2 = BSON.deserialize(data);
    console.log("doc_2 %o", doc_2);
  }
</script>
</body>

以下是我在 Chrome 中的结果:

在此处输入图像描述

于 2013-02-16T12:27:21.750 回答
6

这可能不完整,但项目的目标与您想要的一致:https ://github.com/muhmi/javascript-bson它看起来不像直接编码到类型化数组,这对于发送最有用通过 WebSocket。

于 2012-01-30T23:58:40.973 回答