MongoDB 집계 파이프라인에는 단계가 있습니다. 각 단계는 문서가 파이프라인을 통과할 때 문서를 변환합니다.
먼저 문서로 컬렉션을 만들어 보겠습니다. −
> db.demo218.insertOne({"이름":"크리스","분기":"CS",마크:[65,78,36,90]});{ "승인됨" :true, "insertedId " :ObjectId("5e3e5f4903d395bdc2134712")}> db.demo218.insertOne({"이름":"데이비드","지점":"ME",마크:[56,45,42,51]});{ "확인했습니다 " :true, "insertedId" :ObjectId("5e3e5f6203d395bdc2134713")}> db.demo218.insertOne({"이름":"크리스","분기":"CS", 마크:[78,65,89]});{ "승인됨" :true, "insertedId" :ObjectId("5e3e5f6c03d395bdc2134714")}
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo218.find();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id":ObjectId("5e3e5f4903d395bdc2134712"), "이름":"크리스", "지점":"CS", "마크":[ 65, 78, 36, 90 ] }{ "_id":"ObjectId("5e3e5f6203d395bdc2134713"), "이름":"데이비드", "지점":"ME", "마크":[ 56, 45, 42, 51 ] }{ "_id":ObjectId("5e3e5f6c02d13" 이름":"크리스", "지점":"CS", "마크":[ 78, 65, 89 ] }
다음은 집계 파이프라인에 대한 쿼리입니다 -
> db.demo218.aggregate([... { "$unwind":"$Marks" },... { "$match":... {... "분기":"CS", ... "마크":{ "$gt":88 }... }... },... { "$group":... {... "_id":"$_id",. .. "분기":{ "$first":"$Branch" },... "마크":{ "$first":"$Marks" }... }... }...])사전>이것은 다음과 같은 출력을 생성합니다 -
{ "_id":ObjectId("5e3e5f6c03d395bdc2134714"), "분기":"CS", "마크":89 }{ "_id":ObjectId("5e3e5f4903d395bdc2134712"), 마크" :90 }