2017-08-23 100 views
0

我想在Python中使用PyMongo在MongoDB中查询嵌套列表。问题是查询检查第二级(内部列表)参数值。在python中查询嵌套列表 - 查询语法问题

集合的结构是这样的:

[ 
    { 
    "name": "rahul", 
    "values": [ 
       { 
        "time":"2017-08-08 05:01:11" 
        "a": 5.766666666666667, 
        "b" : 3, 
        "c" : 2 
       }, 
       { 
        "time":"2017-08-08 05:16:40" 
        "a": 5.766666666666667, 
        "b" : 3, 
        "c" : 2 
       } 
     ] 
    }, 
    { 
    "name": "shenoy", 
    "values": [ 
       { 
        "time":"2017-08-08 05:01:11" 
        "a": 1, 
        "b" : 6, 
        "c" : 8 
       }, 
       { 
        "time":"2017-08-08 05:16:40" 
        "a": 5, 
        "b" : 8, 
        "c" : 1 
       } 
     ] 
    } 

] 

我希望所有以“C”的有价票券等于1 我来到这些解决方案在就像:

for data in db.collection_name.find({'values.c': 1}) 

但是,这并没有解决。我也试过像"values.$.c" : 1等解决方案。 请为我提供一些查询此JSON数据的解决方案。

回答

0

使用$elemMatch

collection.find_one({'values': {'$elemMatch': {'c': 1}}})