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

MongoDB에서 두 개의 키로 중복 항목을 제거하는 방법은 무엇입니까?

<시간/>

두 개의 키로 중복 항목을 제거하려면 MongoDB에서 집계()를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo108.insertOne({"Value1":23,"Value2":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2ee3e49fd5fd66da214477")
}
> db.demo108.insertOne({"Value1":23,"Value2":25});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2ee3f29fd5fd66da214478")
}
> db.demo108.insertOne({"Value1":23,"Value2":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2ee3f59fd5fd66da214479")
}

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo108.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : ObjectId("5e2ee3e49fd5fd66da214477"), "Value1" : 23, "Value2" : 24 }
{ "_id" : ObjectId("5e2ee3f29fd5fd66da214478"), "Value1" : 23, "Value2" : 25 }
{ "_id" : ObjectId("5e2ee3f59fd5fd66da214479"), "Value1" : 23, "Value2" : 24 }

다음은 MongoDB에서 두 개의 키로 중복 항목을 제거하는 쿼리입니다 -

> db.demo108.aggregate([{ "$sort": { "_id": 1 } },
... {
...    "$group": {
...       "_id": { "Value1": "$Value1", "Value2": "$Value2" },
...       "doc": { "$first": "$$ROOT" }
...    }
... },
... { "$replaceRoot": { "newRoot": "$doc" } },
... { "$out": "demo108" }]);

find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -

> db.demo108.find();

이것은 다음과 같은 출력을 생성합니다 -

{ "_id" : ObjectId("5e2ee3f29fd5fd66da214478"), "Value1" : 23, "Value2" : 25 }
{ "_id" : ObjectId("5e2ee3e49fd5fd66da214477"), "Value1" : 23, "Value2" : 24 }