Mongodb 使用pymongo筛选器数据查找v.s何处
我想用pymongo过滤数据。但我不知道这两种方法有什么不同。结果表明,第一种方法的性能优于第二种方法。但是我已经在我的存储中过滤了一个查询集列表。这是mongodb功能吗?还是pymongo功能 以下是我的例子:Mongodb 使用pymongo筛选器数据查找v.s何处,mongodb,find,pymongo,where,Mongodb,Find,Pymongo,Where,我想用pymongo过滤数据。但我不知道这两种方法有什么不同。结果表明,第一种方法的性能优于第二种方法。但是我已经在我的存储中过滤了一个查询集列表。这是mongodb功能吗?还是pymongo功能 以下是我的例子: 使用查找方法:(更快) 使用查找方法&where表达式:(较慢) 在官方文档中,提到if可以使用标准运算符,避免使用$where表达式。您基本上已经自己给出了答案。第一个版本应该是您的首选选项,因为使用$的第二个版本将导致执行时间变慢。原因之一是,$where将不使用任何索引()
在官方文档中,提到if可以使用标准运算符,避免使用$where表达式。您基本上已经自己给出了答案。第一个版本应该是您的首选选项,因为使用
$的第二个版本将导致执行时间变慢。原因之一是,$where
将不使用任何索引()
您可以在服务器日志中看到PHP驱动程序真正发送给MongoDB的查询,方法是在服务器上启用如下日志记录:
此外,一旦您知道了可以用来比较不同执行计划的精确查询
result = pymongo.db.mycollection.find({
condition1,
condition2
})
query_data = pymongo.db.mycollection.find({
condition1
})
result = query_data.where(Code("function() {
return condition2}"))