我有一個MongoDB集合,我想添加索引。爲了這篇文章的目的,我們假設集合名稱是Cats
。我對Cats
收集的哈希鍵,如果你這樣做db.cats.findOne();
它會看起來如下:將索引添加到MongoDB集合哈希字段
> db.cats.findOne();
{
"_id" : ObjectId("4f248f8ae4b0b775c9eb002d"),
"metaData" : {
"type" : "cute",
"id" : "4ed3b6c599114b488be52bc3"
},
....
}
我查詢經常(使用Mongoid),像這樣的東西:
Cat.first(:conditions => { "metaData.id" => an_id }
我真的很想能夠在這裏利用索引,但我不完全確定是否應該索引所有的metaData或metaData.id(我特別針對id,而且經常查詢)。
會喜歡這個問題的任何解決方案,因爲我認爲如果我在這裏做正確的事情,我可以顯着加快查詢速度。另外,這是一個獨特的索引。
metaData不是嵌入式文檔。它沒有自己的收藏。它只是一個在每個貓對象中都有1:1映射的散列。