我想用'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
]
}
]
}
试试这个。
aggregate([{$ match:{'name':'testDog3'}},{“$ unwind”:“$ data”},{“$ match”:{“data.time_info”:“2018-09-01 00 :00:03" }}])