MongoDB 前端的 ObjectID 类型

MongoDB ObjectID type on front-end

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

我无法回答这些问题:

(1) serialize/deserialize ObjectID 对象 to/from JSON 是否安全?

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

(3)是不是前端只用字符串,后端只把字符串转成ObjectID比较好?

所以是的,我在前端使用和操作 ObjectID 对象时遇到了问题,因为我在前端没有 ObjectID 模块,或者至少这是一个感知到的问题。我没有看到任何有关如何执行此操作的示例,也根本没有在网上看到太多关于它的讨论。也许我没有正确处理问题。

  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 使其与浏览器兼容(这应该不会太难),我认为那里不会有任何问题。