2013-03-05 81 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設置爲一個新對象。

希望有所幫助。祝你好運。

相關問題