在MongoDB中假设以下数据结构:
{
"_id" : "Bob Blocker",
"ratings" : {
"771206753" : 1
},
"prevalence" : 1
}
如何使用ratings
索引ensureIndex()
内部结构的键?我想建立一个索引,将文档_id
与评级对象中的任何和所有键(在本例中为“771206753”)相关联。
用ratings
键入索引是否足够?那还不记录评级对象的价值部分吗?如果特定键需要查找,我应该移动我的模式吗?
答案 0 :(得分:2)
您无法索引动态密钥,索引ratings
会将整个对象编入为blob,因此您也不希望这样做。
将模式重新编写为:
可能会更好{
"_id" : "Bob Blocker",
"ratings" : [
{id: "771206753", value: 1}
],
"prevalence" : 1
}
然后索引'ratings.id'
。