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

하나의 MongoDB 문서에서 두 배열 내에서 고유한 값 얻기


문서의 두 배열 내에서 고유한 값을 얻으려면aggregate()에서 $setUnion을 사용하십시오. $setUnion은 2개 이상의 배열을 취하고 모든 입력 배열에 나타나는 요소를 포함하는 배열을 반환합니다.

문서로 컬렉션을 만들자 −

>db.demo608.insertOne({"ListOfName1":["John","Chris","Bob","David"],"ListOfName2":["Bob", "Sam","John", "로버트","크리스"]}... );{ "승인됨" :true, "insertedId" :ObjectId("5e974542f57d0dc0b182d62b")}

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

> db.demo608.find().pretty();

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

{ "_id" :ObjectId("5e974542f57d0dc0b182d62b"), "ListOfName1" :[ "John", "Chris", "Bob", "David" ], "ListOfName2" :[ "Bob", "Sam", "존", "로버트", "크리스" ]}

다음은 하나의 MongoDB 문서에 있는 두 개의 배열 내에서 고유한 값을 가져오는 쿼리입니다. -

> db.demo608.aggregate([... {$project:{SetOfNames:{$setUnion:['$ListOfName1','$ListOfName2']}}}... ]).pretty(); 

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

{ "_id" :ObjectId("5e974542f57d0dc0b182d62b"), "SetOfNames" :[ "밥", "크리스", "데이비드", "존", "로버트", "샘" ]}