在pymongo中使用explain(“executionStats”)进行查询

时间:2015-12-07 19:58:04

标签: python mongodb pymongo-3.x

我的请求有问题,包括解释。 作为一个例子,以下请求运作良好:

pp.pprint(col.find({"cuisine":"Italian"}, {"name" : 1, "address.zipcode" :   1, "address.coord" : 1}).explain())

详细说明了解释方法的项目列表。

但是,当我只想使用explain()方法中的executionStats项时,请使用以下请求:

pp.pprint(col.find({"cuisine":"Italian"}, {"name" : 1, "address.zipcode" : 1, "address.coord" : 1}).explain("executionStats"))

我有以下错误:

TypeError: explain() takes 1 positional argument but 2 were given

有谁知道它是什么以及如何解决这个问题?

TY

2 个答案:

答案 0 :(得分:4)

col.find({"cuisine":"Italian"}, {"name" : 1, "address.zipcode" :   1, "address.coord" : 1}).explain()['executionStats']
pymongo中的

explain()是一个dic,所以你需要添加键来显示'executionStats'

答案 1 :(得分:1)

你不能传递“executionStats”来解释pymongo。你必须让pymongo的解释包装器抓住所有的解释输出并解析出你需要的东西。

pp.pprint(col.find({“cuisine”:“Italian”},{“name”:1,“address.zipcode”:1,“address.coord”:1})。explain())

请参阅https://api.mongodb.org/python/current/api/pymongo/cursor.html?highlight=explain#pymongo.cursor.Cursor.explain

没有争论。