pymongo:如何从 mongodb 的字段中获取多个结果?

Posted

技术标签:

【中文标题】pymongo:如何从 mongodb 的字段中获取多个结果?【英文标题】:pymongo : How can I get multiple results from filed in mongodb? 【发布时间】:2019-02-11 15:44:06 【问题描述】:

我想用 python3 pymongo 获取由 'name' 创建的 'data' 项目中的每个 'ecg_raw'。

如果我知道 'name' 和 'time_info',我如何获得 4 个 ecg_raw 数据 which time_info == '2018-09-01 00:00:03'

我想获取每个 ecg_raw 数据,例如 [[8,2],[1,10],[9,4],[1,9]]

我试过了

db.g.find("data":"$elemMatch":"time_info":"2018-09-01 00:00:03","name":1,"data":"$elemMatch":"time_info":"2018-09-01 00:00:03")

但它只返回一个像底部这样的值。

'_id': ObjectId('5b90d401219e9c9f72cac8c4'), 'name': 'testDog3', 'data': ['time_info': '2018-09-01 00:00:03', 'ecg_raw': [8, 2]]

请帮帮我。

> db.g.find().pretty()

"_id" : ObjectId("5b90d401219e9c9f72cac8c4"),
"name" : "testDog3",
"data" : [
    
        "time_info" : "2018-09-01 00:00:03",
        "ecg_raw" : [
            8,
            2
        ]
    ,
    
        "time_info" : "2018-09-01 00:00:03",
        "ecg_raw" : [
            1,
            10
        ]
    ,
    
        "time_info" : "2018-09-01 00:00:03",
        "ecg_raw" : [
            9,
            4
        ]
    ,
    
        "time_info" : "2018-09-01 00:00:03",
        "ecg_raw" : [
            1,
            9
        ]
    ,
    
        "time_info" : "2018-09-01 00:00:04",
        "ecg_raw" : [
            10,
            6
        ]
    ,
    
        "time_info" : "2018-09-01 00:00:04",
        "ecg_raw" : [
            1,
            6
        ]
    
]

【问题讨论】:

【参考方案1】:

试试这个。

聚合([$match:'name':'testDog3', "$unwind": "$data" , "$match": "data.time_info":"2018-09 -01 00:00:03"])

【讨论】:

对不起。它在 db.g.aggregate("$match":"data.$.time_info":"2018-09-01 00:00: 03") 聚合([$match:'name':'testDog3', "$unwind": "$data" , "$match": "data.time_info" :"2018-09-01 00:00:03"]) 解决了。非常感谢你。

以上是关于pymongo:如何从 mongodb 的字段中获取多个结果?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 pymongo 在 mongodb 中重命名父字段名称和嵌套字段值?

使用 pyMongo 和 MongoEngine 从 MongoDb 列表中删除对象及其索引?

如何使用 flask_pymongo 将数据从 mongodb 显示到烧瓶模板?

MongoDB PyMongo - 创建索引并在两个字段中进行不区分大小写的搜索

MongoDB:限制 $gt 查询的结果(来自 pymongo)

mongodb多表查询(附带pymongo实例)