我有一个包含大约50个查询的json
文件。
json
文件如下所示:
{
"1": {
"mongodb":"mydb1.mongodbtime.find({\n \"timestamp1\": {\"$gte\": datetime.strptime(\"2010-01-01 00:05:00\", \"%Y-%m-%d %H:%M:%S\"),\n \"$lte\": datetime.strptime(\"2015-01-02 00:05:00\", \"%Y-%m-%d %H:%M:%S\")}},\n {\"id13\":1}),",
"mongodb1index":"mydb1.mongodbindextimestamp1.find({\n \"timestamp1\": {\"$gte\": datetime.strptime(\"2010-01-01 00:05:00\", \"%Y-%m-%d %H:%M:%S\"),\n \"$lte\": datetime.strptime(\"2015-01-02 00:05:00\", \"%Y-%m-%d %H:%M:%S\")}},\n {\"id13\":1}),"
},
"2": {
"mongodb":"mydb1.mongodbtime.find({\n \"timestamp1\": {\"$gte\": datetime.strptime(\"2010-01-01 00:05:00\", \"%Y-%m-%d %H:%M:%S\"),\n \"$lte\": datetime.strptime(\"2015-01-02 00:05:00\", \"%Y-%m-%d %H:%M:%S\")}},\n {\"id13\":1}),",
"mongodb1index":"mydb1.mongodbindextimestamp1.find({\n \"timestamp1\": {\"$gte\": datetime.strptime(\"2010-01-01 00:05:00\", \"%Y-%m-%d %H:%M:%S\"),\n \"$lte\": datetime.strptime(\"2015-01-02 00:05:00\", \"%Y-%m-%d %H:%M:%S\")}},\n {\"id13\":1}),
}
}
我在数据库mongodbtime
中有两个collections
,一个名为mongodbtime
,另一个名为mongodbindextimestamp1
。
我在python中用于传递query
并执行它的代码如下所示:
mydb1 = myclient["mongodbtime"]
with open("queriesdb.json",'r') as fp:
queries = json.load(fp)
db = {"mongodb": "mongodbtime", "mongodb1index": "mongodbtime"}
for num_query in queries.keys():
query = queries["1"]
print(query)
for db_name in db:
print(db_name)
run(query[db_name])
def run(query):
for j in range(0, 1):
start_time = time.time()
cursor = query
for x in cursor:
pprint(x)
# capture end time
end_time = time.time()
# calculate elapsed time
elapsed_time = end_time - start_time
times.append(elapsed_time)
#elapsed_time_milliSeconds = elapsed_time * 1000
#print("code elapsed time in milliseconds is ", elapsed_time_milliSeconds)
finalmeasurments(times)
我像字符串一样传递它,显然当我print(cursor)
它只是print
我应该使用另一种形式的文件吗?
你知道我应该如何执行我的query
吗
如果你有选择,重构你的方法。如果需要运行一组测试,请使用中的参数创建一个Enum类并迭代该类
如果必须使用JSON文件,请考虑eval(),但YMMV。
相关问题 更多 >
编程相关推荐