이를 위해 $setIntersection을 사용할 수 있습니다. 먼저 문서로 컬렉션을 만들어 보겠습니다. −
> db.setInterSectionDemo.insertOne(... {"_id":101, "Value1":[55,67,89]}... );{ "승인됨" :true, "insertedId" :101 }> db.setInterSectionDemo.insertOne(... {"_id":102, "Value2":[90,45,55]}... );{ "승인됨" :true, "insertedId" :102 }> db. setInterSectionDemo.insertOne(... {"_id":103, "Value3":[92,67,45]}... );{ "승인됨" :true, "insertedId" :103 }
다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -
> db.setInterSectionDemo.find().pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :101, "값1" :[ 55, 67, 89 ] }{ "_id" :102, "값2" :[ 90, 45, 55 ] }{ "_id" :103, "값3 " :[ 92, 67, 45 ]
다음은 MongoDB의 단일 컬렉션에 있는 문서 간의 집합 교차를 찾는 쿼리입니다. -
> db.setInterSectionDemo.aggregate([... {... "$match":{... "_id":{ "$in":[101, 103] }... }... },... {... "$group":{... "_id":0,... "firstValue":{ "$first":"$Value1" },... "secondValue":{ "$last":"$Value3" }... }... },... {... "$project":{... "firstValue":1,... "secondValue":1 ,... "공통값":{ "$setIntersection":[ "$firstValue", "$secondValue" ] },... "_id":0... }... }... ]);사전>이것은 다음과 같은 출력을 생성합니다 -
{ "firstValue" :[ 55, 67, 89 ], "secondValue" :[ 92, 67, 45 ], "CommonValue" :[ 67 ] }