MongoDB스터디중 dropdups인덱스 생성문제 입니다
mongod 인스턴스 최초 실행 상태에서 테스트 했습니다
> db.a.insert({id:1, name:"a"})
> db.a.insert({id:1, name:"b"})
> db.a.insert({id:2, name:"c"})
> db.a.insert({id:3, name:"d"})
>
> db.a.ensureIndex({id:1},{unique:true, dropdups:true})
{
"err" : "E11000 duplicate key error index: test.a.$id_1 dup key: { : 1.0 }",
"code" : 11000,
"n" : 0,
"connectionId" : 1,
"ok" : 1
}
실행 결과가 위와 같은 에러를 표시 했는데요....
확인해보니 dropdups의 명령어에 대문자가 포함되어 있었습니다
정확한 명령어는
db.a.ensureIndex({id:1},{unique:true, dropDups:true})
dropdups -> dropDups 로 명령을 하니 정상적으로 해결 되었습니다
추가로 dropdups인덱스는 중복된 값을 제거하면서 유니크한 인덱스를 생성해주는 인덱스 명령어 입니다
name : "d"가 두번 들어 있지만
dropDups인덱스를 설정하면 중복되는 첫번째 값만 남기고 나머지 데이터를 삭제합니다
db.a.insert({id:1, name:"a"})
db.a.insert({id:1, name:"b"})
db.a.insert({id:2, name:"c"})
db.a.insert({id:3, name:"d"})
db.a.insert({id:4, name:"d"})
db.a.find()
db.a.find({name : "d"})
db.a.ensureIndex({name : 1}, {unique : true, dropDups : true})
db.a.find()
db.a.find({name : "d"})
'보물창고 > Big Data' 카테고리의 다른 글
Spark 스터디 하둡에코 (hadoop) (0) | 2014.07.10 |
---|---|
Hortonworks 샌드박스에 있는 Ambari 관련 내용 번역 입니다 (sandbox) (0) | 2013.05.06 |
hiveserver2 client 내용 정리 beeline (0) | 2013.05.06 |
Hortonworks hadoop oozie 트러블슈팅 (0) | 2013.05.01 |
hadoop oozie 3.2.0 document 필요한 부분 번역 (Basic Setup, Oozie Quick Start, Oozie Examples 하둡) (0) | 2013.04.11 |
윈도우 하둡 HDInsight 0.4.0 클러스터 구성 - window hadoop HDInsight cluster setting (0) | 2013.04.09 |
HDInsight hadoop streaming C# map reduce test (0) | 2013.03.30 |
hadoop streaming 소개 (0) | 2013.03.29 |