【问题标题】:node-mongodb-native: storing references to IDsnode-mongodb-native:存储对 ID 的引用
【发布时间】:2011-10-09 03:11:37
【问题描述】:

使用 node-mongodb-native 驱动程序存储对 ID 的引用的最佳方法是什么?

我目前正在自己​​存储像 4e2675b04aa5520000000002 这样的 ID。我应该存储 ObjectID('4e2675b04aa5520000000002') 吗?

谢谢!

【问题讨论】:

    标签: mongodb node.js


    【解决方案1】:

    您必须使用自己的 ID 吗?如果您不提供它们(_id),mongodb 会为您创建它们。如果您必须手动设置它们,则使用 ObjectID 并将它们保存在 _id 中。

    【讨论】:

    • 通常你的驱动会为你创建_id,所以它仍然是在客户端生成的。这实际上是最佳实践,因为它会产生更多唯一标识符。 mongodb 中的 ObjectId 生成尽可能使用机器特定的信息。有关详细信息,请参阅以下内容:mongodb.org/display/DOCS/Object+IDs
    【解决方案2】:

    如果您的 ID 实际上是一个 mongo ObjectId(意思是“4e2675b04aa5520000000002”实际上是一个),那么在大小和性能方面,将它存储起来比字符串更有效。

    请注意,实际上还定义了一个参考约定,详细信息在这里:http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef

    大多数驱动程序都允许您自动检索引用的文档,而无需手动查询它们。由于这种行为可能会妨碍我认为通常最好将 ObjectId("4e2675b04aa5520000000002") 存储为您建议的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-25
      • 2012-11-01
      • 1970-01-01
      • 2011-07-23
      相关资源
      最近更新 更多