1

我有这样的架构设置:

{
 "_id": ObjectId("5130ea935b51eafc13000032"),
 "items": [
           {
             "id": ???,
             "title": "yes"
           },
           {
             "id": ???,
             "title": "no"
           }
          ]
 }

在整个集合中为所有子文档分配唯一 ID 的最佳方法是什么?

我应该使用MongoId()对象吗?PHP 的uniqid()函数?一个简单的增量?... 为什么?

4

1 回答 1

1

嗯,这是一个常见的问题,但仍然是一个关于 ID 的棘手问题。

首先,如果您有嵌入的文档列表,请检查您的主题区域。这些对象是否具有自然 ID(例如书籍具有 ISBN 编号等)?如果是 - 您可以轻松地将其标记为 ID,这对您在代码中会更有帮助。将更容易看到数据——应用程序绑定。

如果子对象没有自然 id,您最好使用 MongoId 对象 - 它已经实现,您不必考虑生成新的唯一 id(即使它是增量)和手动将该 id 设置为新对象。

希望有帮助。祝你好运。

于 2013-03-05T21:57:34.760 回答