如何查询具有符合Meteor标准的子文档的文档?

问题描述 投票:-1回答:1

我的网站上有一个过滤器部分页面。我正在使用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的所有歌曲子文档的数组。每首歌曲都是一个单独的文档,是另一首歌曲集合的一部分。如何查询至少有一首按价格过滤的歌曲的专辑/ EP /单曲?

javascript database mongodb meteor
1个回答
0
投票

回答我自己的问题,我在Songs集合中查询了与价格过滤器值匹配的所有歌曲,并从该查询中返回了一个数组。然后我使用$ in运算符在Albums / EP / Singles中查询包含前一组查询歌曲中任何值的文档。

© www.soinside.com 2019 - 2024. All rights reserved.