2012-11-17 26 views
0

我有看起來像這樣的鍵:34834.3245.94.5134 - 它顯然是字符串。 但我可以拆分它並存儲爲整數數組[34834,3245,94,5134]MongoDB:數組作爲PK

1)這個數組是更有效的存儲,索引和搜索嗎?

2)是否可以在該鍵上使用{unique:true}創建索引?

+1

你的標題中提到'PK',你打算使用這個字段作爲你的'_id'價值? '_id'不能使用數組。 – JohnnyHK

+0

你打算如何搜索數組?例如:始終使用完整的密鑰;使用部分密鑰(如果是的話,哪些部分?);使用範圍比較?範圍比較和排序在字符串和整數上表現不同,因此「效率」取決於您的用例。 – Stennie

回答

0
  1. 是的,在數字足夠長的情況下,您應該在內存中獲得更緊湊的索引,但索引中的元素會更多(這會減慢查詢速度)。

  2. 是的,但是請記住這條規則

    如果您使用的唯一約束複合指數則MongoDB的將強制唯一性的值的組合,而不是任何或所有值的個體價值的關鍵。