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

问题描述 投票:0回答:1

我想用'python3 pymongo'''''''''''''''''''''''''''''''''''''''''''''''''''''

如果我知道'name'和'time_info',我如何得到4个ecg原始数据,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"}}})

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

{'_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
        ]
    }
]
}
python mongodb nosql pymongo
1个回答
3
投票

试试这个。

aggregate([{$ match:{'name':'testDog3'}},{“$ unwind”:“$ data”},{“$ match”:{“data.time_info”:“2018-09-01 00 :00:03" }}])

© www.soinside.com 2019 - 2024. All rights reserved.