如何在Pymongo中运行以下查询?

时间:2018-01-11 02:56:52

标签: python pymongo

我对pymongo,mongodb和python很新。我可以让这个查询在mongodb上运行,但是我无法在python上运行它?

db.crime.group({
    "key": {
        "Primary Type": true,
        "Arrest": true
    },
    "initial": {
        "Total": 0
    },
    "reduce": function(obj, prev) {
        if (true != null) if (true instanceof Array) prev.Total += true.length;
        else prev.Total++;
    }
});

1 个答案:

答案 0 :(得分:0)

希望通过'主要类型'的复合键来计算每个组中的ID。以及'逮捕',您可以pythonpymongo方式实现此目的:

key = {
    'Primary Type': '$Primary Type',
    'Arrest': '$Arrest'
}

pipeline = [{
    '$group': {
        '_id': key,
        'count': { '$sum': 1}
    }
}]

db.crime.aggregate(pipeline)

请注意来自mongo 3.4,不推荐使用群组查询,因此在mongo 3.6版本中使用聚合作为未来证明,如上所示。