나는 효율적으로 해결하는 방법을 모르겠다는 문제점이있다. 나는 (매일 많은 문서가있을 수 있습니다 매일 number_of_hits의 합계를 얻을 필요가MongoDB를 사용하여 한 컬렉션의 데이터를 다른 컬렉션으로 효율적으로 집계하는 방법은 무엇입니까?
stats = {
'day': '',
'total_number_of_hits': 0
'user_id': 0
...
some other stuff
}
1)
hits = {
'day': '',
'number_of_hits': 0
'user_id': 0
}
2) :
나는 두 개의 컬렉션을 가지고 다양한 숫자의 조회수가 포함 된 포함)를 사용하고 가능한 가장 빠른 방법으로 통계 합계를 업데이트합니다. 히트 컬렉션에있는 각 user_id에 대해이 작업을 수행해야합니다.
예를 들어 히트 컬렉션에 대한 집계를 가져온 다음 예를 들어 얻을 수 있습니다. 루프 업데이트 통계 수집.
하지만 뭔가 좋은 방법이 아니라고 말하고 있습니다.
때때로 stats 컬렉션에는 문서가 없을 수도 있으므로 업데이트되는 대신 으로 만들어야합니다. 당신이 나에게 어떤 아이디어를 얻을 수있는 경우
그것은 놀라운 것입니다 :)
이 PabloX 감사
재미있는 아이디어 :
나는이는 파이썬으로 수행하는 방법을 확실하지 않다, 그러나 몽고에 대한 문서를 체크 아웃 한도. 하지만 히트가 수집되는 방식을 바꿀 수 있다면 그 한계가 문제가되지 않을 것이라고 생각합니다. – pablox
또한 데이터베이스에 대한 연결 수를 줄입니다. –
당신의 솔루션은 잘 작동합니다. 고마워요. – pablox