2013-03-05 85 views
1

我有一个架构设置是这样的:我应该使用MongoId对象来识别子文档吗?

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

什么是分配唯一的ID给所有的子文档的最佳方式,在整个集合?

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

回答

1

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

首先,如果您有嵌入文件的列表,请检查您的主题区域。那些对象是否有自然标识(如书本有ISBN号码等)?如果是的话 - 你可以很容易地将它标记为ID,并且在代码中对你更有帮助。这将更容易看到数据 - 应用程序的关系。

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

希望有所帮助。祝你好运。

相关问题