【发布时间】:2017-01-11 23:09:54
【问题描述】:
我有一个 MongoDB,我想在数据库中查询一些值并将它们添加到条件匹配的地方。
这是我的收藏条目:
{
"_id" : ObjectId("5875ed1dc939408da0601f31"),
"AlbumName" : "Blurryface",
"Group" : "21 Pilots",
"Date" : "20151110",
"Label" : "Fueled By Ramen",
"Writers" : "Tyler Joseph",
"Producer" : "Mike Elizondo",
"Songlist" : [
{
"_id" : ObjectId("5875e5e8c939408da0601d73"),
"SongID" : "1",
"SongName" : "Stressed Out",
"Artist" : "21 Pilots",
"Duration:" : "200",
"nPlays" : "800000000",
"SongDataFile" : "data"
}
]
}
我匹配 AlbumName 并希望获取“Songlist”中所有(如果有更多)歌曲的 nPlays
db.Albums.aggregate([
{$match: {AlbumName: 'Blurryface'}},
{$unwind: '$Songlist'},
])
但是现在我不知道如何从数组中的歌曲中获取 nPlay 以及如何将它们用于其他事情。
如何通过 MongoDB 聚合获得 nPlay?
【问题讨论】:
-
我通过反复试验找到了答案。我在 unwind 下添加了这个:{$project: {nPlays: '$Songlist.nPlays'}}
-
你好。如果您自己找到答案,您可以将其作为答案发布并接受。