2012-11-19 59 views
0

我知道這個問題曾多次提出過,但就我的搜索技能而言,每篇文章都是如何在SQL數據庫中實現這一點,並且沒有提及NoSQL數據庫。如何在MongoDb中存儲文檔的「標籤」?

我有我想要實現標記功能的文檔。
用戶將能夠使用任何他們想要的字符串來標記他們,然後我需要能夠快速查詢的文檔作爲可能的(通過這些通用標籤)

我應該有一個String陣列對我的代碼(這將讓我支持任何數量的標籤),這樣

{"_id":"aaa", "prop":"value", "tags":["tag1","tag2","tagN"]} 

或限制的標籤,比如說,5量,並將它們作爲不同的屬性,這樣

{"_id":"aaa", "prop":"value", "tag1":"value", "tag2":"value", "tag3":"value" } 

哪ST對於快速查詢,特別是在mongodb中,結構會更好嗎?

使用第二個結構將允許我通過此字段爲集合建立索引,但建議使用5個索引?我應該有更少的標籤嗎?

回答

1

你只是想使用一個數組,你有第一個例子。這將允許你有一個一致的模型和索引。

{"_id":"aaa", "prop":"value", "tags":["tag1","tag2","tagN"]} 

如果索引的陣列中的每個單獨的值包含一個陣列,MongoDB的索引,在字段「多鍵索引。」 [1]

[1] http://docs.mongodb.org/manual/core/indexes/#multikey-indexes

相關問題