찾다

 >  Q&A  >  본문

Mongodb는 dropDups: true를 설정하여 고유 인덱스를 생성할 수 없습니다.

데이터베이스의 필드에 이미 동일한 값이 있습니다. 이 필드에 대한 고유 인덱스를 생성하고 중복 데이터를 삭제하려고 합니다. 그래서 인덱스를 생성할 때 dropDups를 true로 설정했지만 여전히 중복 키에 대한 오류가 발생합니다. 무슨 일이야? 아니면 중복된 데이터를 빠르게 삭제할 수 있는 방법이 있나요?

迷茫迷茫2828일 전814

모든 응답(5)나는 대답할 것이다

  • 过去多啦不再A梦

    过去多啦不再A梦2017-04-28 09:05:35

    회신하다
    0
  • 仅有的幸福

    仅有的幸福2017-04-28 09:05:35

    파이썬 스크립트를 통해 중복 제거 가능

    으아악

    아이디어는 매우 간단합니다. 탐색하여 dict에 저장하고 두 번째 발견되면 삭제합니다.
    하지만 이 방법으로는 삭제 및 보관된 개체를 제어할 수 없습니다. 시나리오에 따라 스크립트를 조정할 수 있습니다

    회신하다
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-28 09:05:35

    저도 이런 상황을 겪었는데 어떻게 해결해야 할지 모르겠습니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-28 09:05:35

    데이터가 10만 개가 넘는 경우 스크립트를 통해 빠르게 처리할 수 있나요? 동시성이 많을 때 스크립트는 어떻게 처리합니까?

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-28 09:05:35

    mongoDB3.0에서는 dropDups 매개변수를 삭제하므로 향후 이를 통해 중복된 데이터를 삭제할 수 없습니다.

    http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4865696&uid=15795819

    회신하다
    0
  • 취소회신하다