2012-05-30 2 views
0

여기 pymongo과 몽고의 통합 프레임 워크를 사용하려고하고있어 내가 파이썬에서 가져온 내용은 ​​다음과 같습니다MongoDB를 집계 프레임 워크는 오류

OperationFailure: command SON([('aggregate', 'call_log'), ('pipeline', [{'$match': {u'user': 1}}, {'$project': {'date': 1, 'status': 1, 'number': 1, 'description': 1}}, {'$group': {u'first_number': {u'$first': u'$number'}, '_id': SON([(u'number', u'$number')]), u'avg_number': {u'$avg': u'$number'}}}])]) failed: exception: can't convert from BSON type 2 to double 

파이썬 코드 차단 :

#Process grouping 
    groups_list = [] 
    if "fields" in group_json: 
     for k, v in group_json["fields"].items(): 
      groups_list.append((k,'$' + k)) 
     if len(groups_list) > 0: 
      obj_group_json.update({'_id': SON(groups_list)}) 
      if "aggregate" in group_json: 
       for field in group_json["aggregate"]: 
        if field['func'] == "count": 
         obj_group_json.update({"count_" + field['name']: {'$sum': 1}}) 
        else: 
         obj_group_json.update({field['func'] + "_" + field['name']: 
                 {'$' + field['func']: '$' + field['name']}}) 

당신이 어떤 아이디어 왜해야합니까 ?

+0

파이썬 코드를 포함시킬 수 있습니까? –

+0

질문을 업데이트했습니다. – KennyPowers

답변

1

BSON type 2은 문자열이므로 정수로 변환하는 중에 오류가 발생하는 것으로 보입니다.

출력 할 수 있습니까? obj_group_json? 또한 데이터를 확인하십시오 - 번호가 아닌 숫자 데이터가 있습니까?