前端的MongoDB ObjectID类型

时间:2015-08-05 06:13:59

标签: javascript mongodb requirejs amd objectid

我无法在线查找有关如何在前端使用Mongo ObjectID实例的信息。

我无法回答这些问题:

(1)将ObjectID对象序列化/反序列化为JSON是否安全?

(2)如何在前端需要带有AMD / RequireJS的ObjectID模块?

(3)在前端使用字符串并将字符串转换为后端的ObjectID更好吗?

所以是的,我在前端处理和操作ObjectID对象时遇到了麻烦,因为我在前端没有ObjectID模块,或者至少这是一个感知问题。我还没有看到任何关于如何做到这一点的例子,也没有在网上看到过很多关于它的讨论。也许我没有正确处理这个问题。

1 个答案:

答案 0 :(得分:1)

  1. 否。您的JSON解析器可能会失败,因为JSON只存储某些数据类型,而ObjectID不是其中之一...

    尽管如此,请注意,如果您正在对数据进行字符串化,那么您的MongoDB驱动程序有可能通过从ObjectID返回一个字符串来实现这一点......这是NodeJS中的一个示例:

    var ObjectID = require("mongodb").ObjectID,
        myObject = {test:ObjectID("55153a8014829a865bbf700d")};
    
    console.log(JSON.stringify(myObject));
    // {"test":"55153a8014829a865bbf700d"}
    
  2. 不。我不确定是否有任何模块能够在浏览器JS中使用ObjectID。 Although perhaps you can port this NodeJS to browser JS compatibility?

  3. 是的。目前,我会说是的。你可以在前端使用字符串;虽然,就像我说的更早,如果你可以将ObjectID peice移植到兼容浏览器(这不应该太难),我认为那里不会有任何问题。