VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > python爬虫 >
  • mongo客户端升级导致pymongo中使用聚合函数时出现异常

一.异常信息

The 'cursor' option is required, except for aggregate with the explain argument

二.解决办法

#部分源代码错误代码
pipeline = [
    {"$match": {
        "updateTime": {
            "$gte":(datetime.datetime(year,month,day, 0, 0, 0, 000) - datetime.timedelta(hours=8)),
            "$lte":(datetime.datetime(year,month,day, 23, 59, 59, 000) - datetime.timedelta(hours=8))},
        "type": self.type}},
    {"$group": {"_id": {"platformName": "$platformName"}, "count": {"$sum": 1}}},
    {"$match": {"count": {"$gt": 1}}}]
every_zb_num = self.db_data.command('aggregate', self.tableName, pipeline=pipeline,allowDiskUse=True)


#解决办法添加游标
pipeline = [
    {"$match": {
        "updateTime": {
            "$gte":(datetime.datetime(year,month,day, 0, 0, 0, 000) - datetime.timedelta(hours=8)),
            "$lte":(datetime.datetime(year,month,day, 23, 59, 59, 000) - datetime.timedelta(hours=8))},
        "type": self.type}},
    {"$group": {"_id": {"platformName": "$platformName"}, "count": {"$sum": 1}}},
    {"$match": {"count": {"$gt": 1}}}]
#在执行的时候添加游标参数
every_zb_num = self.db_data.command('aggregate', self.tableName,cursor = {}, pipeline=pipeline,allowDiskUse=True)

相关教程