我有这样的架构设置:
{
"_id": ObjectId("5130ea935b51eafc13000032"),
"items": [
{
"id": ???,
"title": "yes"
},
{
"id": ???,
"title": "no"
}
]
}
在整个集合中为所有子文档分配唯一ID的最佳方法是什么?
我应该使用 MongoId()对象吗? PHP的 uniqid()函数?一个简单的增量? ......为什么?
答案 0 :(得分:1)
嗯,这是关于ID的常见问题,但仍然是一个棘手的问题。
首先,如果您有嵌入的文档列表,请检查您的主题区域。这些对象是否具有自然ID(如书籍有ISBN号等)?如果是的话 - 你可以很容易地将其标记为ID,这对你的代码更有帮助。更容易看到数据 - 应用程序绑定。
如果子对象没有自然id,你最好使用MongoId对象 - 它已经实现了,你不必考虑生成一个新的唯一id(即使它是一个递增)并手动将该id设置为新对象。
希望有所帮助。祝你好运。