Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 문서 배열을 병합하는 방법 – aggregate()와 $push 활용 가이드

MongoDB에서 여러 문서에 저장된 배열을 하나로 병합하려면 aggregate() 메서드와 $push 연산자를 함께 사용하면 됩니다. 이 글에서는 실제 예제를 통해 배열을 병합하는 과정을 단계별로 살펴보겠습니다.

1. 컬렉션 생성 및 문서 삽입

먼저 insertOne() 메서드를 사용하여 컬렉션을 생성하고 문서를 삽입해 보겠습니다.

> db.demo64.insertOne({"Subjects":["MySQL","MongoDB","Java"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e28762bcfb11e5c34d89936")
}
> db.demo64.insertOne({"Subjects":["Oracle","Spring","Python"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e28763fcfb11e5c34d89937")
}

위 명령은 각각 과목 목록을 담은 두 개의 문서를 demo64 컬렉션에 추가합니다.

2. 삽입된 문서 확인하기

find() 메서드를 사용하여 컬렉션의 모든 문서를 조회할 수 있습니다.

> db.demo64.find();

위 쿼리는 다음과 같은 결과를 출력합니다.

{ "_id" : ObjectId("5e28762bcfb11e5c34d89936"), "Subjects" : [ "MySQL", "MongoDB", "Java" ] }
{ "_id" : ObjectId("5e28763fcfb11e5c34d89937"), "Subjects" : [ "Oracle", "Spring", "Python" ] }

3. aggregate()와 $push로 배열 병합하기

이제 MongoDB에서 두 문서의 배열을 하나로 병합하는 핵심 쿼리를 살펴보겠습니다. $group 스테이지에서 _idnull