我對Mongodb比較新,我有一個想法,但不知道如何去做。Mongodb文檔格式一致性
我想要做的事實質上是散列一個mongodb文檔(最好是Json格式,因此它不是數據庫特定的),並將該散列存儲在某個引用該特定文檔的地方。這需要允許我通過查詢將來檢索文檔,並與存儲的散列進行比較。
我的想法是獲取DBObject的json表示,對其進行散列,然後在保留它之前將散列作爲字段添加到該特定文檔。然後,在查詢對象時,確保從答案中排除散列字段,以便返回的DBObject包含相同的散列。
1 - 是否MongoDB中總是返回一致DBOBJECT格式將始終轉換爲相同的JSON,這樣的散列將始終是相同的
2 - 請問這樣的實現甚至是可行的?就像在存儲與對象本身的散列一樣,本質上改變對象(因此使得散列無效),但是通過不在檢索中檢索該字段而得到解決方案
3 - 如果實現不起作用,那麼最簡單的存儲哈希的方式,另一個對象與原始文檔的引用?
謝謝。欣賞輸入。我應該提到,這個想法是不會對文件進行任何更新。他們應該是不可變的,所以一些評論可能不適用。至於散列,它主要是一個例子,但我的意思是使用整個文檔作爲產生值的關鍵字(如sha-256或evem外部http調用)的某種計算,而不一定是典型的散列計算。你能否詳細說明爲什麼使用哈希作爲第二個文檔的文件而不是簡單地在該文檔中的另一個字段? – ByteFlinger
我在想的是可能將文檔哈希值與其存儲值進行比較,因此需要在二級集合上查找引用會比查看哈希值更大(因爲這將是我之後的) – ByteFlinger
有意義。我猜想你並沒有打算做任何更新,只是將其意見僅供參考。使hash_code成爲第二個集合的_id將意味着您可以快速查找使用其計算哈希的文檔。由於_id字段被mongo自動索引。如果它的另一個領域,你將不得不放置和索引,這將使寫入緩慢,如果你關心他們。 – Wolf7176