You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB中从数组获取YouTube频道视频详情的问题

解决MongoDB获取数组中所有元素指定字段的问题

你的问题出在使用了VideoDetail.0这种数组索引定位,这只会返回数组第一个元素的指定字段,而你需要的是数组中所有视频的信息。以下是两种可行的解决方案:

方法一:使用find方法投影数组字段

直接指定数组内的子字段,MongoDB会返回整个数组,但每个元素仅保留你需要的三个字段:

db.Ammu.find(
  { _id: ObjectId('64874529be6740b5c6f5961f') },
  { 
    "VideoDetail.Video_Id": 1, 
    "VideoDetail.Video_Name": 1, 
    "VideoDetail.Like_Count": 1, 
    _id: 0 // 可选,去掉文档的_id字段
  }
)

方法二:使用聚合框架拆分数组为单个文档

如果希望每个视频的信息单独成为一条文档返回,使用$unwind拆分数组,再用$project提取字段:

db.Ammu.aggregate([
  { $match: { _id: ObjectId('64874529be6740b5c6f5961f') } },
  { $unwind: "$VideoDetail" }, // 将数组拆分为单个文档
  { $project: {
      Video_Id: "$VideoDetail.Video_Id",
      Video_Name: "$VideoDetail.Video_Name",
      Like_Count: "$VideoDetail.Like_Count",
      _id: 0
    }
  }
])

内容的提问来源于stack exchange,提问作者rinkaka chirikato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 15:27:33