我已将 YouTube 频道的详细信息导入到 mongodb,并且我正在尝试获取 YouTube 频道视频的详细信息。 假设我正在尝试获取“VideoDetail”-> Video_Id -> Video_Name -> Like_Count 这里的“VideoDetail”是数组,有多个对象,例如 - 0,1,2,3,4,5,6,..... 每个对象下 - 0 -> 有每个视频的详细信息。
我尝试使用以下代码,但没有获取详细信息。
=>
db.Ammu.find({_id:ObjectId('64874529be6740b5c6f5961f')} , {"VideoDetail.0.Video_Id" : 1 , VideoDetail.0.Video_Name" : 1 , VideoDetail.0.Like_Count" : 1})
您可以在投影中将
$elemMatch
与 $
位置运算符结合使用,以仅输出 VideoDetail
数组中与您的条件匹配的对象。
例如,要从
VideoDetail
数组中获取第一个对象,您可以像这样查询 Video_Id
属性:
db.Ammu.find({
_id: ObjectId('64874529be6740b5c6f5961f'),
VideoDetail: {
$elemMatch:{
Video_Id: 'MxxnwmBUp-0'
}
}
},{
'VideoDetail.Video_Id.$': 1,
'VideoDetail.Video_Name.$': 1,
'VideoDetail.Like_Count.$': 1
});