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

MongoDB에서 배열 내부의 필드 합계를 찾으시겠습니까?

<시간/>

배열 내 필드의 합을 찾으려면 $sum을 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo96.insertOne(
... {
...
...    "Name" : "Chris",
...    "Details" : [
...       {
...          Marks:67
...       },
...       {
...          Marks:33
...       },
...       {
...          Marks:50
...       }
...    ]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e2d6aadb8903cdd865577ad")
}

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

> db.demo96.find();

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

{
   "_id" : ObjectId("5e2d6aadb8903cdd865577ad"), "Name" : "Chris", "Details" : [
      { "Marks" : 67 }, { "Marks" : 33 }, { "Marks" : 50 }
   ] 
}

다음은 MongoDB에서 배열 내부의 필드 합계를 찾는 쿼리입니다 -

> db.demo96.aggregate([
... { "$project": {
...    "Name": 1,
...    "TotalMarks": {
...       "$sum": "$Details.Marks"
...       }
...    }}
... ]);

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

{ "_id" : ObjectId("5e2d6aadb8903cdd865577ad"), "Name" : "Chris", "TotalMarks" : 150 }