mongodb查询期间答案错误

时间:2019-12-16 14:13:23

标签: python mongodb pymongo

我正在使用本地安装在我的PC上的mongoDB,并且尝试使用Python(pymongo)向其发送查询以获取自定义数据集。我收集了以下格式的3件商品

{"sn": <string>,
 "final_result": <string>,
 "measures": [
     {"name": <string>, "value": number, "unit": "string", "result": "string"},
  ]
}

我要查找的是值在3到4之间的文档。应该是2个文档,但是返回了3个(所有文档)

它遵循代码:

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["trialdb"]
mycol = mydb["mytests"]

mylist = [
    {"sn": "321507124698",
     "final_result": "PASS",
     "measures": [
         {"name": "TP05", "value": 5.056, "unit": "Volts", "result": "PASS"},
         {"name": "TP06", "value": 3.014, "unit": "Volts", "result": "PASS"},
         {"name": "TP07", "value": 8.042, "unit": "Volts", "result": "PASS"}
     ]
     },
    {"sn": "321507124699",
     "final_result": "PASS",
     "measures": [
         {"name": "TP05", "value": 5.046, "unit": "Volts", "result": "PASS"},
         {"name": "TP06", "value": 2.954, "unit": "Volts", "result": "PASS"},
         {"name": "TP07", "value": 8.420, "unit": "Volts", "result": "PASS"}
     ]
     },
    {"sn": "321507124700",
     "final_result": "FAIL",
     "measures": [
         {"name": "TP05", "value": 2.729, "unit": "Volts", "result": "FAIL"},
         {"name": "TP06", "value": 3.014, "unit": "Volts", "result": "PASS"},
         {"name": "TP07", "value": 8.272, "unit": "Volts", "result": "PASS"}
     ]
    }
]

print("\n#################################################\n")
print("Print ids where: 3 < Value < 4 \n")
myquery = {"measures.value": {"$gt": 3, "$lt": 4}}
mydoc = mycol.find(myquery, {"_id": 0, "measures": 0})
for x in mydoc:
    print(x)

0 个答案:

没有答案