用PyMongo计算

时间:2016-04-08 05:28:02

标签: python mongodb pymongo

我需要根据MongoDB数据进行计算。我试着查看API,但我无法弄明白。为简单起见,假设我想从MongoDB中的Document中取两个变量(a& b),并使用Python减去它们。

JSON / MongoDB的:

{
    "math" : {
        "variableone" : 3,
        "variabletwo" : 4,
    }
}

Python代码:

def calculation():
    variableone = 3                 #from MongoDB Document
    variabletwo = 4                 #from MongoDB Document
    sum = variableone - variabletwo
    print(sum)

calculation()

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

假设您有以下文件:

{
    "math" : {
        "variableone" : 3,
        "variabletwo" : 4,
    }
}

{
    "math" : {
        "variableone" : 3,
        "variabletwo" : 4,
    }
}

你可以像下面那样迭代它们:

for each in collection_name.find():
    var1 = each['math']['variableone']
    var2 = each['math']['variabletwo']
    sum = var1 + var2
    print(sum)

上述代码的工作原理:

collection_name.find_one返回一个游标,您可以使用该游标迭代所有文档。

然后您可以像dict(或列表)一样访问文档的内部键。这取决于文档的结构。

for循环迭代游标逐个获取每个文档并将变量存储在本地var1和var2中。然后你可以操作这些局部变量并打印总和或做你想做的任何事情。

如果您在查询文档时需要使用条件,可以使用find(),如:

collection_name.find({'math.variableone':3})