我有一个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映射的散列。