【发布时间】:2011-10-09 03:11:37
【问题描述】:
使用 node-mongodb-native 驱动程序存储对 ID 的引用的最佳方法是什么?
我目前正在自己存储像 4e2675b04aa5520000000002 这样的 ID。我应该存储 ObjectID('4e2675b04aa5520000000002') 吗?
谢谢!
【问题讨论】:
使用 node-mongodb-native 驱动程序存储对 ID 的引用的最佳方法是什么?
我目前正在自己存储像 4e2675b04aa5520000000002 这样的 ID。我应该存储 ObjectID('4e2675b04aa5520000000002') 吗?
谢谢!
【问题讨论】:
您必须使用自己的 ID 吗?如果您不提供它们(_id),mongodb 会为您创建它们。如果您必须手动设置它们,则使用 ObjectID 并将它们保存在 _id 中。
【讨论】:
如果您的 ID 实际上是一个 mongo ObjectId(意思是“4e2675b04aa5520000000002”实际上是一个),那么在大小和性能方面,将它存储起来比字符串更有效。
请注意,实际上还定义了一个参考约定,详细信息在这里:http://www.mongodb.org/display/DOCS/Database+References#DatabaseReferences-DBRef
大多数驱动程序都允许您自动检索引用的文档,而无需手动查询它们。由于这种行为可能会妨碍我认为通常最好将 ObjectId("4e2675b04aa5520000000002") 存储为您建议的值。
【讨论】: