如何使MongoDB通过密钥查找更高效



我在"区域";以及";故事";收藏。即每个地区都有多个故事。故事集包含每个地区的每个故事;regionId";标识故事所属区域的键。我将需要查找与各个regionId相关的故事,大概使用Story.find{"regionId" : <regionId>}。未来可能会有数千或数百万个故事,我知道进行收藏搜索会非常低效。最初,我做了一个";故事";字段中的";区域";所以我可以通过_id查找,但我意识到这会造成引用噩梦。我的问题是,我能把";regionId";字段来完成我想要的内容,即使有多个文档具有相同的regionId?

storySchema.createIndex{ { regionId: 1  } }

您应该签出mongoDB聚合。你会做一些类似的事情:

Story.aggregation([
{
$match: {
region: regionId
}
}
])

最新更新