【发布时间】:2017-12-07 01:49:34
【问题描述】:
例如,我有 2 个集合:
第一个名为“歌曲”,此集合中的文档存储有关歌曲的所有元数据,例如title、duration、release_date 等。除此之外,还有artist 和producer 字段,这些字段存储来自“Stars”集合的关系文档的id。
“歌曲”集合中的文档示例:
{
id: SONG_ID
title: TITLE,
duration: DURATION,
release_date: ISO_DATE,
...
artist: STAR_ID
producer: STAR_ID
}
您猜的第二个是“Stars”集合,该集合中的文档存储有关fullname、date_of_birth等明星的信息。
“星星”集合中的文档示例:
{
id: STAR_ID
fullname: FULLNAME,
date_of_birth: DATE_OF_BIRTH
...
}
假设我想找到(1 个条件)标题中有“爱”字的歌曲,(2 个条件)在 2017 年发行的歌曲和(3 个条件)来自 Rihanna 或 Zara Larsson 等艺术家的歌曲。请注意,我的问题与简单的左外连接不同。请注意,在此查询中,第 3 个条件与存储在第二个集合“Stars”中的信息有关,所以我不想只用“Stars”集合中的信息污染艺术家和制作人字段,而且我想选择像 Rihanna 或 Zara 这样的明星歌曲拉尔森。
最好和最快的方法是什么?
谢谢你的帮助!
【问题讨论】:
-
@AdamHarrison 请注意,我的问题与简单的左外连接不同。请注意,在此查询中,第 3 个条件与存储在第二个集合“Stars”中的信息有关,所以我不想只用“Stars”集合中的信息污染艺术家和制作人字段,而且我想选择像 Rihanna 或 Zara 这样的明星歌曲拉尔森。
-
您是否正在寻找您遇到问题的特定实施部分?很难知道你做了什么,你期待什么样的答案。
-
@Veeram 我愿意接受任何可以解释我如何以最佳方式为这种情况构建查询的答案。