我有一组照片。可以从其他一些集合(事件、新闻、帖子等)中引用它们(一对多)
我可以像这样创建参考:
db.photos.insert({ parent:{ collection: 'events', id: 12345 }})
db.photos.insert({ parent:{ collection: 'events', id: 54321 }})
//or just DBRef
db.photos.ensureIndex({parent:1})
或者
db.photos.insert({ post_id: 12345 })
db.photos.insert({ event_id: 54321 })
db.photos.ensureIndex({post_id:1}, {sparse: true})
db.photos.ensureIndex({event_id:1}, {sparse: true})
在第一种情况下,我们有一个大的复合索引在第二种情况下——一些较小的索引
每种方法的优缺点是什么?