我的网站上有一个过滤器板块页面。我正在使用Meteor,并且要显示所有至少包含符合价格标准的歌曲的专辑/ EPS /单曲。
样本相册/ EP /单个文档的外观如下:
{
"_id" : "gj92wpjw5WNfkgDJd",
"title" : "Gem",
"description" : "Lorem ipsum dolor",
"isExplicit" : false,
"releaseDate" : ISODate("2018-08-14T13:27:08.483Z"),
"ownedBy" : {
"user" : "AAPrkjkPtn8nbmYbM",
"accountDataId" : "njJyhGfLGb83oztmT",
"name" : "Zia Cecille",
"path" : "/artist/zia-cecille"
},
"mood" : {
"energetic" : 50,
"happy" : 50,
"electronic" : 50,
"vocal" : 50
},
"songs" : [
"E6FwMr9FcwEYM79wt",
"KXQmvr7QMGX9q6u7C",
"oasNrffNbiZXQ9WEJ"
],
"isPublished" : true,
"isDisplayedOnSite" : true,
"createdAt" : ISODate("2018-08-14T13:27:08.483Z")
}
songs属性是属于该Album / EP / Single的所有Songs子文档的数组。每首歌曲是一个单独的文档,是另一个Songs集合的一部分。如何查询至少有一首按价格过滤的歌曲的专辑/ EP /单曲?
答案 0 :(得分:0)
回答我自己的问题,我在“歌曲”集合中查询了所有与价格过滤器值匹配的歌曲,并从该查询返回了一个数组。然后,我使用$ in运算符在Albums / EP / Singles中查询包含先前查询的歌曲数组中包含任何值的任何文档。