从 mongodb 中的数组获取详细信息

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

我已将 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})

arrays mongodb mongodb-query
1个回答
0
投票

您可以在投影中将

$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
});
© www.soinside.com 2019 - 2024. All rights reserved.