내가 몇 가지 채점을 추출하기 위해 메시지를 표시 할 수 있도록 일부 로그 항목 (50^6)이있는 콜렉션이 있다고 가정 해 보겠습니다.pymong 그룹 및 카운트
다음은 내 컬렉션에있는 문서 중 하나의 예입니다. 난 그냥 관련 정보
다양한 PRG 5 월이 하나 개의 패키지 나는 informatin 다음 패키지/버전의 주어진 몇 추출 할 abble 싶습니다에 관한
{
'prg': 'blastall',
'uid': '7225',
'version': '2.2.21',
'date': datetime.datetime(2013, 12, 1, 0, 0),
'_id': ObjectId('54948dbdff4346034c23ae8d'),
'pack': 'blast'
}
메모를 떠났다. 이 패키지/버전 사용 된 음식물의 목록을 사용하는 UID의 수집 목록에 ocuurences의 NB는
현재 나는 이런 식으로 일을.satrt, end는 처리 할 기간을 제한하는 datetimes입니다.
{
'progs': ['blastall', 'formatdb', 'megablast'],
'hits': 1212,
'_id': {'version': '2.2.21', 'pack': 'blast'},
'users': ['7225', '1234', '9876]
}
제가 abble 싶습니다 것은의 progs에 저장하는 프로그램 사용의 정보를 나열 ;-) 예상대로
pack_ag = col.aggregate([
{'$match': {"date": {'$gte':start, '$lt': end}}},
{'$project' : {'pack':1, 'version':1, 'prg':1, 'uid':1}},
{'$group' :{"_id":{"pack":"$pack", "version":"$version"}, 'hits': {'$sum': 1}, 'progs': { '$addToSet': "$prg"}, 'users': {'$addToSet': '$uid'}}}])
는 나에게 뭔가를 제공합니다. 예를 들어 같은 얻을 : 내가 찾아 결과를 반복 것보다 다른 방법으로 작업을 수행하는 방법을 알고 팩/버전/PRG 일치하는 문서를 포함되지 않습니다 나는 curently 것을 인정해야
progs': [{'blastall': 1000}, {'formatdb': 200}, {'megablast':12}]
을 그 다음에 문서를 갱신한다.
여기에 momgo 쿼리 수준에서 전체 채우기 방법이 있습니까?