首页 > 解决方案 > 如何在mongodb查询中转换数据

问题描述

db={
  setting: [
    {
      "_id": "5fce2865cf6b771054133981",
      "files": [
        {
          "_id": "5fc09a5c1027307146d5ede5",
          "imageUrl": "xyz.jpg",
          "width": 375,
          "height": 500,
          "videoUrl": "video.mp4"
        }
      ]
    },
    {
      "_id": "5fcdcc60da26c80a6de06759",
      "files": [
        {
          "_id": "5fc09a5c1027307146d5ede5",
          "imageUrl": "xyz.jpg",
          "width": 375,
          "height": 500             
        }
      ]
    },
    {
      "_id": "5fcdcc52da26c80a6de06758",
      "files": []
    }
  ]
}

db.setting.aggregate([
  {
    "$project": {
      _id: 1,
      files: 1
    }
  }
])

https://mongoplayground.net/p/KBOCksJ5xzu

如果数组存在 imageUrl 和 videoUrl,想知道如何获取数据。

我需要单独的数据如果我请求 imageUrl 它应该只返回那些具有 imageurl 和一些数据的记录如果我请求 videoUrl 它应该返回记录由 videoUrl

如何实现这一点,请指导

谢谢

标签: mongodbaggregation-framework

解决方案


推荐阅读