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

값을 집계로 바꾸는 MongoDB 쿼리?

<시간/>

$literal 연산자와 함께 집계 프레임워크를 사용합니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.replaceValueDemo.insertOne( { _id :100, "EmployeeName" :"Chris", "EmployeeOtherDetails":{ "EmployeeDesignation" :"HR", "EmployeeAge":27 } });{ "승인됨" :true, "insertedId" :100 }> db.replaceValueDemo.insertOne( { _id :101, "EmployeeName" :"David", "EmployeeOtherDetails":{ "EmployeeDesignation" :"테스터", "EmployeeAge":26 } }); { "승인됨" :true, "insertedId" :101 }

다음은 find() 메서드를 사용하여 컬렉션의 모든 문서를 표시하는 쿼리입니다. -

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

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

{ "_id" :100, "EmployeeName" :"Chris", "EmployeeOtherDetails" :{ "EmployeeDesignation" :"HR", "EmployeeAge" :27 }}{ "_id" :101, "EmployeeName" :" David", "EmployeeOtherDetails" :{ "EmployeeDesignation" :"테스터", "EmployeeAge" :26 }}

다음은 값을 대체하는 쿼리입니다 -

> db.replaceValueDemo.aggregate([{ "$project":{ "_id":1, "EmployeeOtherDetails":{ EmployeeAge:1, EmployeeDesignation:{ $literal:"개발자" } } }}]); 

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

{ "_id" :100, "EmployeeOtherDetails" :{ "EmployeeAge" :27, "EmployeeDesignation" :"개발자" } }{ "_id" :101, "EmployeeOtherDetails" :{ "EmployeeAge" :26, "EmployeeDesignation" " :"개발자" } }