【发布时间】:2015-02-20 05:54:30
【问题描述】:
我正在尝试了解如何最好地在 MongoDB 中设置架构。
我拥有的是多对多关系,如下所示:
播放列表文档:
{
_id: '111',
title: 'some playlist',
songs: ['222', '333']
}
歌曲文件:
{
_id: '222',
album: 'some album',
artist: 'some artist'
}
一个播放列表可以引用多首歌曲,而一首歌曲可以属于多个播放列表。
如果我要构建一个查询,在播放列表集合中搜索包含特定歌曲 ID 的播放列表,那会不会是一个非常慢的操作?似乎数据库需要遍历每个播放列表的歌曲数组,以确定要返回的播放列表。
我得出的解决方案是像这样构建我的播放列表文档:
{
_id: '111',
title: 'some playlist',
songs: {
222: true,
333: true
}
}
似乎我应该这样做(对我而言),但几乎我能找到的每个示例都使用数组。 Mongo 在使用数组时是否会在内部发挥一些作用,使它们与对象一样快?
【问题讨论】:
标签: mongodb