6
db.hello.ensureIndex({"array1":1, "array2":1})
MongoDB不允許這樣做,因爲他們說「它可以失控」。但是,我知道我的數組永遠不會超過3的長度。我如何破解MongoDB以允許一次爲多個數組建立索引?如何在MongoDB中爲兩個數組建立索引?
當使用複合索引,索引值的至多 一個任何文件 中可以是一個數組。因此,如果我們有一個 索引{一個:1,B:1},以下 文件都好:
{一:[1,2],B:1} {A:1,B: [1,2]} 本文檔,但是,將不能 被插入,並顯示錯誤消息 「不能索引平行陣列」:
{一:[1,2],b:[1,2 ]}帶索引並行數組的問題 的笛卡爾乘積中的每個值都必須是 索引,這可以非常快地失控 。
你確定你需要兩個數組的索引嗎?如果你對其中之一有很高的選擇性,那可能就足夠了。 – Thilo
@Thilo ...第一個數組通常有大約100個元素。第二陣列有大約2-3個元素。你認爲我需要索引第二個數組嗎? – TIMEX
@TIMEX請勿索引第2個數組,並使用explain命令查看它的執行方式。 – Joe