복붙노트

[MONGODB] oplog.rs에서 TS 필드에 인덱스가 업데이트되지 않습니다

MONGODB

oplog.rs에서 TS 필드에 인덱스가 업데이트되지 않습니다

나는 TS 필드에 쿼리하여 MongoDB를 2.2 복제 세트에 oplog.rs 수집을 읽는 응용 프로그램이 있습니다.

나는 TS 필드에 인덱스를 추가했지만 새로운 항목이 oplog에 삽입 할 때 업데이트되지 않습니다.

나는 무엇을 놓치고? 나는 지원 (오히려 반대) 할 수 있습니다 덮인 컬렉션에서 인덱스에 대해 MongoDB의 워드 프로세서에서 아무것도 찾을 수없고, 나는 oplog 존재 특수에 대한 정보를 찾을 수 없습니다.

감사

해결법

  1. ==============================

    1.당신이 발견 한 것처럼, 보조 인덱스는 local.oplog.rs와 * .system.profile 같은 시스템 모음에서 지원되지 않습니다. MongoDB를 2.4 이상 인덱스에서 생성 된 것으로 나타납니다,하지만 실제로는 업데이트되지 않았다. 당신이 직접 이러한 추가 인덱스를 만들려고로 지원되지 않는 변화 시스템 모음을 업데이트하려고하면 MongoDB를 (2.6+)의 최신 버전은 오류를 반환합니다.

    당신이 발견 한 것처럼, 보조 인덱스는 local.oplog.rs와 * .system.profile 같은 시스템 모음에서 지원되지 않습니다. MongoDB를 2.4 이상 인덱스에서 생성 된 것으로 나타납니다,하지만 실제로는 업데이트되지 않았다. 당신이 직접 이러한 추가 인덱스를 만들려고로 지원되지 않는 변화 시스템 모음을 업데이트하려고하면 MongoDB를 (2.6+)의 최신 버전은 오류를 반환합니다.

    그 용도는 복제 때문에 oplog.rs 수집은 확실히 "특별한"입니다. 복제 내부는이 기준에 oplog에 대한 예상 작업에 대한 몇 가지 가정을합니다. 예를 들어, 복제는 oplog 항목을 삽입 할 필요가 - 당신이 자신을 만들 수 있다는 덮인 수집과는 달리, oplog 항목은 업데이트되지 않습니다.

    응용 프로그램은 그들이 oplog에 삽입, 또는 $ 자연 순서를 사용하여 발견 할 새 항목을 수행해야하는 경우 tailable 커서로 oplog를 읽을 것으로 예상된다.

    tailable 커서 튜토리얼은 사용에 좀 더 내용이수록되어 있지만, 노트에 몇 가지 특별한 점은 다음과 같습니다 :

  2. ==============================

    2.귀하의 질문은 정확히 어떻게 당신이 당신의 현재 구현에 대해 예정에 관해서는 저 작은 모호한입니다. 그러나 그것은 인덱스가 갱신되지 않습니다없는 것 같다보다는 당신이 업데이트에 대한 알림되지 않습니다 MongoDB를가 아직 술집 / 하위 기능이 없기 때문에 : https://jira.mongodb.org/browse/SERVER-3385

    귀하의 질문은 정확히 어떻게 당신이 당신의 현재 구현에 대해 예정에 관해서는 저 작은 모호한입니다. 그러나 그것은 인덱스가 갱신되지 않습니다없는 것 같다보다는 당신이 업데이트에 대한 알림되지 않습니다 MongoDB를가 아직 술집 / 하위 기능이 없기 때문에 : https://jira.mongodb.org/browse/SERVER-3385

    당신은 실제로 오랜 시간에 업데이트를 위해이 컬렉션 (http://docs.mongodb.org/manual/tutorial/create-tailable-cursor/)에 tailable 커서를 사용할 수 있습니다.

  3. from https://stackoverflow.com/questions/15389325/index-on-ts-field-in-oplog-rs-is-not-updated by cc-by-sa and MIT license