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

MongoDB에서 두 배열의 교차점을 얻는 방법은 무엇입니까?

<시간/>

두 배열의 교집합을 얻으려면 $setIntersection을 집계()와 함께 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo61.insertOne({"값1":[10,20,30,40,50],"값2":[30,100,70,120,40]});{ "확인됨" :true, "insertedId " :ObjectId("5e286e28cfb11e5c34d8992a")}

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

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

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

{ "_id" :ObjectId("5e286e28cfb11e5c34d8992a"), "값1" :[ 10, 20, 30, 40, 50 ], "값2" :[ 30, 100, 70, 120}, 40> 

다음은 MongoDB에서 두 배열의 교집합을 구하는 쿼리입니다 -

> db.demo61.aggregate(... [... { $project:{ BothValues:{ $setIntersection:[ "$Values1", "$Values2" ] }} }... ]... );

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

{ "_id" :ObjectId("5e286e28cfb11e5c34d8992a"), "BothValues" :[ 30, 40 ] }