我需要使用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)
那么,我该如何使用 pymongo 做到这一点?
最佳答案
用 Javascript 重写 myfunction
并使用它按 adding a where 过滤您的文档子句到您的原始查询。
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)
关于python - 如何使用 Pymongo 将两个字段的值传递到函数中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47420953/