1

假设 MongoDB 中的数据结构如下:

{
    "_id" : "Bob Blocker",
    "ratings" : {
        "771206753" : 1
    },
    "prevalence" : 1
}

如何索引ratingsusing的内部结构的键ensureIndex()?我想建立一个索引,将文档_id与评级对象中的任何和所有键(在本例中为“771206753”)相关联。

键入索引ratings就足够了吗?那不是也记录了 rating 对象的 value 部分吗?如果查找是由该特定键打算的,我应该改变我的模式吗?

4

1 回答 1

2

您不能索引动态键,并且索引ratings会将整个对象索引为 blob,因此您也不想这样做。

将架构重新设计为:

{
    "_id" : "Bob Blocker",
    "ratings" : [
        {id: "771206753", value: 1}
    ],
    "prevalence" : 1
}

然后索引'ratings.id'

于 2013-02-28T17:25:35.510 回答