首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongo DB -筛选特定嵌套对象数组

Mongo DB -筛选特定嵌套对象数组
EN

Stack Overflow用户
提问于 2021-11-04 23:56:14
回答 1查看 24关注 0票数 0

我有下面的蒙古族结构

代码语言:javascript
复制
{
    "brand": "test",
    "keyword": "test",
    "user": "test",
    "link": "AAA",
    "text": "test",
    "insert_utc_ts": "2021-11-04 23:18:34.970",
    "update_utc_ts": "2021-11-04 23:45:55.561",
    "media": [{
        "src": "Test2",
        "media_ai_text": "Test",
        "media_type": "PHOTO_TEST",
        "insert_utc_ts": "2021-11-04 23:23:30.315",
        "update_utc_ts": "2021-11-04 23:23:30.315"
    }, {
        "src": "Test",
        "media_ai_text": "Test",
        "media_type": "PHOTO_TEST",
        "insert_utc_ts": "2021-11-04 23:23:45.331",
        "update_utc_ts": "2021-11-04 23:23:45.331"
    }]
}

我需要找到媒体update_utc_ts,其中media.src = Test2和link = AAA

我试过用这个过滤器

代码语言:javascript
复制
{ link: "AAA", media.src: "Test2"}

但根本不起作用。任何帮助都是非常感谢的

EN

回答 1

Stack Overflow用户

发布于 2021-11-05 00:09:02

您可以使用$unwind解构数组,然后使用所需的值解构$match。以及只返回所需值的可选阶段$project

代码语言:javascript
复制
db.collection.aggregate([
  {
    "$unwind": "$media"
  },
  {
    "$match": {
      "link": "AAA",
      "media.src": "Test2"
    }
  },
  {
    "$project": {
      "_id": 0,
      "media.update_utc_ts": 1
    }
  }
])

示例这里

请注意,我假设您想检索media.update_utc_ts,这就是为什么过滤器查询不能工作的原因。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69847176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档