MongoDB에서 여러 속성 값을 확인하여 항목 목록 검색
MongoDB로 작업할 때 여러 속성 값을 기반으로 특정 항목을 검색해야 하는 경우가 종종 있습니다. MySQL에서 사용되는 IN 조건과 유사한 속성 값. 이 기사에서는 MongoDB에서 파이프라인 작업 조합을 사용하여 이를 달성하는 방법을 보여줍니다.
집계 프레임워크
이 시나리오에서는 집계 프레임워크를 사용하여 "venueList"라고 알려진 MongoDB 컬렉션에서 데이터를 필터링하고 집계하는 파이프라인입니다. 목표는 장소 ID 목록을 기반으로 Linux 또는 Ubuntu와 같은 특정 운영 체제를 사용하는 총 사용자 수를 검색하는 것입니다.
파이프라인 단계
파이프라인은 데이터를 변환하고 요약하기 위해 함께 작동하는 여러 단계로 구성됩니다.
예상 출력
집계 파이프라인의 최종 출력은 다음과 같습니다. 지정된 장소 ID에 걸쳐 Linux 및 Ubuntu 사용자의 총 수가 포함된 문서:
<code class="json">{ "_id": null, "linux": 14, "ubuntu": 4 }</code>
Go 구현
mgo 패키지를 사용하여 Go에서 이 파이프라인을 사용하려면 , 다음 단계를 따르세요:
<code class="go">query := []bson.M{ {"$match": bson.M{"venueList.id": bson.M{"$in": []string{"VID1212", "VID4343"}}}}, {"$unwind": "$venueList"}, {"$match": bson.M{"venueList.id": bson.M{"$in": []string{"VID1212", "VID4343"}}}}, {"$unwind": "$venueList.sum"}, { "$group": bson.M{ "_id": nil, "linux": bson.M{"$sum": bson.M{"$cond": []interface{}{bson.M{"$eq": []interface{}{"$venueList.sum.name", "linux"}}, "$venueList.sum.value", 0}}}, "ubuntu": bson.M{"$sum": bson.M{"$cond": []interface{}{bson.M{"$eq": []interface{}{"$venueList.sum.name", "ubuntu"}}, "$venueList.sum.value", 0}}}, }, }, }</code>
위 내용은 Aggregation Pipeline을 사용하여 MongoDB의 여러 속성 값을 기반으로 항목 수를 검색하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!