我特別需要對用戶名進行哈希處理,而且我需要為我的目的保持用戶名的唯一性。所以,我的問題是我可以用用戶名的 sha256 哈希覆寫 mongoDB 的默認“_id”欄位嗎?我讀到_id 需要是唯一的并且已經被索引,那么為什么我要創建另一個條目而不是存盤在_id 中。
這會導致我不知道的任何技術問題嗎?在索引時搜索 _id 是否有效?
這個應用程式是一個使用 Flask-pymongo 作為 mongo 驅動程式和助手的 Flask 應用程式。
默認:
_id : ObjectId(...)
我需要:
_id:sha256(用戶名)
請解釋這種方法是否存在任何問題。
uj5u.com熱心網友回復:
從技術上講,使用 sha256 作為_id. MongoDB 中的默認ObjectId型別便于“現場”創建唯一值,但不是必需的。位模式_id必須是唯一的,僅此而已。
從資料設計的角度來看,如果您對用戶資料使用函式(例如 sha256)來創建鏈接到物理資料庫機制(如_id)的材料,您必須確保用戶資料在資料的生命周期內不會發生變化。在這種情況下,username可能沒問題,但例如電子郵件地址可能很差,因為用戶可以更改他們的電子郵件地址。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/456259.html
