Python 如何使用Pymongo将两个字段的值传递到函数中?

Python 如何使用Pymongo将两个字段的值传递到函数中?,python,mongodb,pymongo,Python,Mongodb,Pymongo,我需要使用pymongo进行查询。在查询中,我需要将两个字段传递到我定义的函数中。如果函数的返回值为True,则将选择文档。以下是一个例子: 文档的数据: {"key1":value1, "key2":value2, "key3":value3, ... , "key10":value10} 我需要将value2和value3传递到一个函数中,如下所示: def myfunction(value2, value3): # do some geometry calculation, eg

我需要使用pymongo进行查询。在查询中,我需要将两个字段传递到我定义的函数中。如果函数的返回值为
True
,则将选择文档。以下是一个例子:

文档的数据:

{"key1":value1, "key2":value2, "key3":value3, ... , "key10":value10}
我需要将
value2
value3
传递到一个函数中,如下所示:

def myfunction(value2, value3):
    # do some geometry calculation, eg.
    a = float(value2)
    b = float(value3)
    result = math.sin(a) * math.cos(b) * math.sin(a - b)
    return (result <= 0.1)
def myfunction(值2、值3):
#做一些几何计算。
a=浮动(值2)
b=浮动(值3)
结果=math.sin(a)*math.cos(b)*math.sin(a-b)

在Javascript中返回(resultRewrite
myfunction
,并使用它将文档按子句过滤到原始查询中

clause = '''
    function() {
      var value2 = +this.key2;
      var value3 = +this.key3;
      var result = Math.sin(value2) * Math.cos(value3) * Math.sin(value2-value3);
      return result <= 0.1;
    }
'''

collection = query.where(clause)
子句=“”
函数(){
var value2=+this.key2;
var value3=+this.key3;
var结果=数学sin(值2)*数学cos(值3)*数学sin(值2-值3);
返回结果