Computer >> 컴퓨터 >  >> 프로그램 작성 >> MongoDB

MongoDB에서 중복 레코드를 찾으십니까?


집계 프레임워크를 사용하여 MongoDB에서 중복 레코드를 찾을 수 있습니다. 개념을 이해하기 위해 문서로 컬렉션을 만들어 보겠습니다. 문서로 컬렉션을 생성하는 쿼리는 다음과 같습니다 -

> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"John"});{ "승인됨":true, "insertedId":ObjectId("5c8a330293b406bd3df60e01")}> db. :"John"});{ "승인됨" :true, "insertedId" :ObjectId("5c8a330493b406bd3df60e02")}> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Carol"});{ ",acknowled "insertedId":ObjectId("5c8a330c93b406bd3df60e03")}> db.findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Sam"});{ "확인됨":true, "insertedId"5:ObjectIad3 findDuplicateRecordsDemo.insertOne({"StudentFirstName":"Carol"});{ "확인된" :true, "insertedId" :ObjectId("5c8a331593b406bd3df60e05")}> db.findDuplicateRecordsFirstName":insertOne;{ "승인됨" :true, "insertedId" :ObjectId("5c8a331e93b406bd3df60e06")}

find() 메서드를 사용하여 컬렉션의 모든 문서를 표시합니다. 쿼리는 다음과 같습니다 -

> db.findDuplicateRecordsDemo.find();

다음은 출력입니다 -

{ "_id":ObjectId("5c8a330293b406bd3df60e01"), "StudentFirstName":"John" }{ "_id":ObjectId("5c8a330493b406bd3df60e02"), "StudentFirstName" "tudentb5c8a330c93b406bd3df60e03"), "StudentFirstName":"Carol" }{ "_id":ObjectId("5c8a331093b406bd3df60e04"), "StudentFirstName":"StudentFirstName":"Sam" }{ "_id" 캐롤" }{ "_id" :ObjectId("5c8a331e93b406bd3df60e06"), "StudentFirstName" :"마이크" }

다음은 MongoDB에서 중복 레코드를 찾는 쿼리입니다 -

> db.findDuplicateRecordsDemo.aggregate( ... {"$group" :{ "_id":"$StudentFirstName", "count":{ "$sum":1 } } }, ... {"$ match":{"_id" :{ "$ne" :null } , "count" :{"$gt":1} } }, ... {"$project":{"StudentFirstName" :"$_id" , "_id" :0} }... );

다음은 중복 레코드만 표시하는 출력입니다. -

{ "StudentFirstName" :"캐롤" }{ "StudentFirstName" :"John" }