我有一个专辑模式,它有一个子歌曲的子方案。
AlbumSchema
albumName:
songs:[{name,url}]
我有另一个具有播放列表架构的集合。 该Schema中的每个文档都应该包含一系列歌曲。
PlaylistSchema
playlistName:
songs:[]
如何从播放列表中引用歌曲,以便我可以在播放列表中使用填充? 有没有办法在不将歌曲分解成自己的收藏的情况下做到这一点?我试过搜索SO和moongoose文档,但到目前为止还无法找到一种方法。
注意:此问题被标记为重复。不是 !主持人链接的问题是询问如何使用另一个集合中的文档填充一个集合中的引用。这个问题是关于从另一个集合中引用集合中的SUB-DOCUMENT。两件非常不同的事情。
答案 0 :(得分:0)
你做不到。您不能引用子文档。没有办法绕过它。所以你不能使用populate。您需要查询Albums
集合并使用project
($elemMatch
)。如果要使用populate
,请考虑更改模式。