2014-01-15 5 views
0

많은 오브젝트와이 오브젝트에서 실행되는 여러 집계 프로세서가있는 문서가 있습니다. 개체 문서의 이름이 Objects라고합니다. 한 프로세서의 경우 ProcessedObjects라는 다른 문서를 만들었습니다. 각 문서의 인스턴스는 하나의 필드 인 "processedObjectPtr"을 포함하는 개체로,이 개체는 개체에 대한 링크입니다.MongoDB 다른 목록에없는 문서를 나열하십시오.

나는 다음과 같은 기본 루프 실행하려는

:

for all objects that haven't been processed yet: 
    1 - process object 
    2 - add object to processed object list 

부분 내가 MongoDB를에서 할 방법을 모르는 아직 처리되지 않은 개체의 목록을 얻을 수 있습니다. 이론적으로 나는 객체 자체를 다른 필드를 추가하여 처리 한 것으로 표시 할 수 있지만 추한 결과를 낳을 프로세서가 많은 경우 별도의 문서에 '처리 된 객체 목록'을 유지하는 것이 더 좋습니다.

우아한 방법이 있습니까? 아니면 처리 된 메타 데이터를 실제 개체에 추가해야합니까? 나는 몽고인을 사용하고 있지만, 어떤 대답이든 할 것이다.

감사합니다.

+0

지도를 사용해보십시오. 여기에있는 예를 참조하십시오. http://stackoverflow.com/questions/8772936/get-data-from-collection-b-not-in-collection-a-in-a-mongodb-shell-query –

+1

'processedFlags'목록을 내 개체에 추가하여 각 프로세서가이 개체를 이미 처리했음을 표시하고 플래그가없는 개체를 쿼리 할 수 ​​있습니다. – Noam

+0

@Noam : 자신의 질문을 해결 했으므로 답변으로 게시 할 수도 있습니다 .-) – Stennie

답변

0

'processedFlags'목록을 내 개체에 추가하기 때문에 각 프로세서는이 개체를 이미 처리했으며 (플래그를 통해) 플래그가없는 개체를 쿼리 할 수있었습니다.

관련 문제