【问题标题】:Add filter based on condition in MongDB在 MongoDB 中添加基于条件的过滤器
【发布时间】:2021-08-26 01:13:49
【问题描述】:

我是 MongoDB 新手,我有一个集合学生。仅当 is_rep=true 时,我才需要在查询中添加 student.name 过滤器。

我的文档结构。

{
  {
    "student": {
      "name": "arun",
      "dept": "bio",
      "subject": "bot"
    },
    "is_rep": true
  },
  {
    "student": {
      "name": "div",
      "dept": "csc",
      "subject": "program"
    },
    "is_rep": false
  }
}

谁能指导我在 pymongo 中实现这一目标

【问题讨论】:

  • 您也可以添加您的查询吗?所以我们可以根据结构的其余部分来回答。
  • 如果我给你 mongo 脚本,你是否可以将查询转换为 pymongo?
  • @varman 是的,当然。
  • @Dinesh 我已经添加了答案
  • @TusharShahi 我无法正确构建查询。尝试使用 $cond 但没有运气

标签: python-3.x mongodb pymongo


【解决方案1】:

你可以使用聚合像

db.collection.aggregate([
  {
    $match: {
      is_rep: true,
      "student.name": "arun"
    }
  }
])

工作Mongo playground

或者你可以使用查找查询

db.collection.find({
  is_rep: true,
  "student.name": "arun"
})

工作Mongo playground

【讨论】:

    猜你喜欢
    • 2014-11-17
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 2014-02-12
    • 2018-04-15
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    相关资源
    最近更新 更多