MongoDB中对象键的索引

时间:2011-10-17 14:01:54

标签: mongodb mongodb-php

我有这个结构

{
    "_id": "willwill",
    "rental": {
        "hitchhikergalaxy": {[...]},
        "animalfarm": {[..]}
    }
}

哪个[..]是一个嵌入式文档,用于存储租借的详细信息(并且完全相同的数据也存在于另一个集合中),而rental对象的密钥是_id的{​​{1}} 1}}集合。

我如何book此查询?

ensureIndex()

(我在PHP上使用MongoDB,但上面的例子是在JavaScript中)

1 个答案:

答案 0 :(得分:4)

您可能需要考虑重构文档,以便:

"rental": 
  [
     { "name":"hitchikergalaxy", "attributes": { your stuff } },
     { "name":"animalfarm", "attributes": { your stuff } }
  ]

现在您有了一条指向ensureIndex“rental.name”的路径

您可以使用以下方式进一步查找任何用户租用animalfarm的所有文档:

db.users.find( { "rental.name": "animalfarm" } )

我一直在使用数据作为键/名称 - 而且似乎总是让事情变得比他们需要的更复杂。