我有一個非常簡單的Mongo數據庫,用於個人nodejs項目。這基本上只是註冊用戶的記錄。選擇正確的數據庫索引類型
我最重要的領域是字母數字字符串(姑且稱之爲user_id說明並假定它不能只是數字),約15至20個字符。
現在最重要的操作是檢查用戶是否存在或不存在。我這樣做通過查詢db.collection.find("user_id": "testuser-123")
如果沒有記錄返回,我保存用戶以及其他一些不重要的數據,如名字,最後和註冊日期。
現在我當然希望做user_id
的索引。 我閱讀official MongoDB Manual上的索引教程。
首先我試着設置一個text index,因爲我認爲這將符合字母 - 數字領域。我也嘗試設置language:none
。但事實證明,我的查詢返回約12毫秒而不是6毫秒沒有索引。
然後我試圖只設置一個有序索引一樣{user_id: 1}
,但我還沒有看到任何差別(這是隻工作了數值?)。
誰能推薦我索引的最佳類型這種情況下或最快的查詢來檢查用戶是否存在?或者,也許是MongoDB不是最好的匹配呢?
感謝您的回答和解釋。我甚至沒有想過只是想插入,但它是有道理的。 –