2012-08-29 175 views
1

我正在使用pymongo包裝的有關申請我的模式是這樣的:mongodb-索引的查詢

{ 
    _id: <some_id>, 
    name: <some_name>, 
    my_tags: [<list_of_tags>] 
} 

現在我想返回用戶指定的標籤下,落在這些條目。例如, 我想要my_tags應該是atleast的條目[「college」,「USA」,「engineering」]。對於我讀$ all構造可以使用。現在我想知道的是,它是否可以用作my_tags上的索引。對於我的應用程序,這種類型的查詢被廣泛使用。

+0

您是否親自嘗試了所有數據和代碼?它工作或沒有工作?你的問題有什麼意義? $ all的行爲被深入記錄 - 那麼爲什麼我們會重新驗證$ all的功能?嘗試與你的數據,然後回來,如果你有問題與所有...所以你的問題是什麼? –

+0

我確實嘗試了$全部,它運行得很好。我只想知道是否有任何優勢,我索引my_tags。就文檔而言,我提到了http://www.mongodb.org/display/DOCS/Multikeys他們已經講述了有關數組的索引,但我想知道它是否可以與$ all操作符一起使用。它不在$文檔中。 –

回答

3

會是任何使用使得在my_tags索引。對於我的應用程序,這種類型的查詢被廣泛使用。 https://jira.mongodb.org/browse/SERVER-5331https://jira.mongodb.org/browse/SERVER-1000

通常情況下,文檔只能提醒你的時候:

是$所以它仍然是良好的,使一個有但是仍然有可以爲它做的優化都將使用索引有些東西不能使用索引。

+0

仍然記住,所有匹配第一個標籤的文檔都會被掃描以獲取更多細節,因此第一個標籤應該儘可能選擇性 – Dukeatcoding

+0

@Dukeatcoding這裏還有另一個需要注意的地方,那就是$ $都和$ in很像,在這方面,如果索引是針對您爲其製作的查詢進行預先排序的,那麼它的效果會更好,我沒有將其添加到最初的答案 – Sammaye

+0

很高興知道,我現在正在使用同義詞標記查詢並考慮緩存結果,你有這樣的模式嗎? – Dukeatcoding