假设我有一个看起来像这样的文档:
{
_id: ObjectId("5260ca3a1606ed3e76bf3835"),
event_id: "20131020_NFL_SF_TEN",
team: {
away: "SF",
home: "TEN"
}
}
我想查询任何以“SF”作为客队或主队的比赛。所以我放了一个索引team.away
并team.home
运行一个 $or 查询来查找所有旧金山的比赛。
另外的选择:
{
_id: ObjectId("5260ca3a1606ed3e76bf3835"),
event_id: "20131020_NFL_SF_TEN",
team: [
{
name: "SF",
loc: "AWAY"
},
{
name: "TEN",
loc: "HOME"
}
]
}
在上面的数组中,我可以放置一个索引,team.name
而不是像以前那样放置两个索引。然后我会查询team.name
里面有“SF”的任何游戏。
哪个查询会更有效?谢谢!