首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Python限制MongoDB查询的输出?

如何用Python限制MongoDB查询的输出?
EN

Stack Overflow用户
提问于 2022-09-25 15:17:05
回答 1查看 18关注 0票数 0

我在一个MongoDB DB中有这个示例users条目:

代码语言:javascript
复制
{
     _id: xxx,
     name: "name",
     files:[{
          fileName: "test",
          size: 654
          },
          {fileName: "test2",
          size: 50
     }]
}

我使用Pymongo查询名为“test”的文件:

users.find_one({'files.filename':"test"})

如何限制Pymongo的输出,从而只给出包含"test“的dict?换句话说,我希望它输出以下内容:

代码语言:javascript
复制
{
     fileName: "test",
     size: 654
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-25 15:56:19

有一种方法你可以做到。

代码语言:javascript
复制
db.users.aggregate([
  {
    "$match": {
      "files.fileName": "test"
    }
  },
  {
    "$replaceWith": {
      "$first": {
        "$filter": {
          "input": "$files",
          "as": "file",
          "cond": {
            "$eq": ["$$file.fileName", "test"]
          }
        }
      }
    }
  }
])

mongoplayground.net上试一试。

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

https://stackoverflow.com/questions/73845626

复制
相关文章

相似问题

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