2017-02-20 128 views
0

documentdb中的文檔需要具有唯一的id屬性。我應該如何使用Id屬性

每個文檔也有一個文檔鏈接。這個鏈接似乎完成了主鍵在關係數據庫表中所扮演的角色,特別是指一個獨特的文檔。

我應該如何使用Id屬性與文檔鏈接?如果我想將穩定的標識符存儲到文檔中,是否有理由存儲標識而不是文檔鏈接?

回答

0

我想你可以選擇使用鏈接字段或存儲id字段,並在代碼中建立鏈接。後者的延遲成本只有很小的成本,所以完全取決於你存儲的外鍵。請注意,儘管在非外鍵環境下通常不需要往返手動構建來自ID的鏈接。

有點背景......鏈接字段有點遺留,雖然仍然有用,可能永遠不會消失。 DocumentDB首次推出時,您無法構建自己的鏈接。如果記憶服務的話,他們會在2015年底或2016年初的某段時間進行修復。我懷疑,如果他們不得不重做一遍,他們會用手工編制的鏈接完成所有的工作。

1

這兩個id(可設置)和_rid(由DocumentDB生成)都是與配置的分區鍵值組合使用時唯一的集合鍵。大多數應用程序只使用idid的主要優點是它是用戶生成的。

有一些優勢,利用_rid但是:

  • 它是全球唯一的,尚未只要一個GUID
  • 這是分層次的,所以你不需要跟蹤數據庫,收集,和文檔ID - 只是_rid
  • 它是一個單調遞增的值,這對於一些使用情況(注:分區鍵內的增加,跨分區鍵不保證排序)一個有用的屬性
相關問題