我有这个结构
{
"_id": "willwill",
"rental": {
"hitchhikergalaxy": {[...]},
"animalfarm": {[..]}
}
}
哪个[..]
是一个嵌入式文档,用于存储租借的详细信息(并且完全相同的数据也存在于另一个集合中),而rental
对象的密钥是_id
的{{1}} 1}}集合。
我如何book
此查询?
ensureIndex()
(我在PHP上使用MongoDB,但上面的例子是在JavaScript中)
答案 0 :(得分:4)
您可能需要考虑重构文档,以便:
"rental":
[
{ "name":"hitchikergalaxy", "attributes": { your stuff } },
{ "name":"animalfarm", "attributes": { your stuff } }
]
现在您有了一条指向ensureIndex“rental.name”的路径
您可以使用以下方式进一步查找任何用户租用animalfarm的所有文档:
db.users.find( { "rental.name": "animalfarm" } )
我一直在使用数据作为键/名称 - 而且似乎总是让事情变得比他们需要的更复杂。