2016-09-24 2 views
0

아래에 컬렉션이 있습니다. 이 데이터는 cron 작업에서 20 분마다 끝점에서 가져옵니다.변경점 만 유지하여 컬렉션을 줄일 수 있습니까?

{"id":AFFD6,"empty":8,"capacity":15,"ready":6,"t":1474370406,"_id":"kROabyTIQ5eNoIf1"} 
    {"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474116005,"_id":"kX0DpoZ5fkMr2ezg"} 
    {"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474684808,"_id":"ken1WRN47PTW159H"} 
    {"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474117205,"_id":"kes1gDlG1sBjgV1R"} 
    {"id":AFFD6,"empty":10,"capacity":15,"ready":4,"t":1474264806,"_id":"khILUjzGEPOn0c2P"} 
    {"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474275606,"_id":"ko9r8u860es7E2hI"} 
    {"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474591207,"_id":"kpLS6mCtkIiffTrN"} 

은 내가 empty (결과적으로 ready)의 변화를 표시하지 않는 문서 (행)을 폐기하고 싶습니다. 내 목표는이 컬렉션에서이 값이 변경된 가장 최근 타임 스탬프를 찾는 것입니다. 더 나은 예시

, 나는 값이 같은 변경 곳으로 줄이고 자 :

{"id":AFFD6,"empty":8,"capacity":15,"ready":6,"t":1474370406,"_id":"kROabyTIQ5eNoIf1"} 
{"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474117205,"_id":"kes1gDlG1sBjgV1R"} 
{"id":AFFD6,"empty":10,"capacity":15,"ready":4,"t":1474264806,"_id":"khILUjzGEPOn0c2P"} 
{"id":AFFD6,"empty":9,"capacity":15,"ready":5,"t":1474591207,"_id":"kpLS6mCtkIiffTrN"} 

나는 MongoDB의 쿼리의에서이 작업을 수행 할 수 있습니까? 아니면 JavaScript 필터 기능을 사용하는 것이 더 좋을까요?

답변

1

MongoDB를 사용하면 색인에 고유 제한 조건을 지정할 수 있습니다. 이러한 제한 조건으로 인해 응용 프로그램은 삽입 된 필드에 중복 값이있는. 서를 삽입하지 못합니다.

고유

db.collection.createIndex({ "id": 1 }, { unique: true }) 

은 또한 더 명확한 설명을 위해 MongoDB documentation을 참조하기 위해 다음 코드를 사용합니다.