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

MongoDB 집계와 함께 $ifNull을 사용하는 방법은 무엇입니까?

<시간/>

$ifNull은 표현식을 평가하고 표현식이 null이 아닌 값으로 평가되는 경우 표현식의 값을 반환합니다.

먼저 문서로 컬렉션을 만들어 보겠습니다. −

> db.demo372.insertOne({"FirstName":"Chris"});{ "승인됨" :true, "insertedId" :ObjectId("5e591aea2ae06a1609a00af6")}> db.demo372.insert"One({"이름 :null});{ "승인됨" :true, "insertedId" :ObjectId("5e591aef2ae06a1609a00af7")}> db.demo372.insertOne({"FirstName":"David"});{ "승인됨" :true, "insertedId " :ObjectId("5e591af42ae06a1609a00af8")}> db.demo372.insertOne({"FirstName":null});{ "승인됨" :true, "insertedId":ObjectId("5e591afb2ae060af>909") 

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

> db.demo372.find();

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

{ "_id":ObjectId("5e591aea2ae06a1609a00af6"), "FirstName":"Chris" }{ "_id":ObjectId("5e591aef2ae06a1609a00af7"), "FirstName":null }{ 91af15e09ae09aaaf2 "), "이름":"데이비드" }{ "_id":ObjectId("5e591afb2ae06a1609a00af9"), "이름":null }

다음은 집계와 함께 $ifNull을 사용하는 쿼리입니다-

> db.demo372.aggregate(... [... {... $project:{....... FirstName:{ $ifNull:[ "$FirstName", "NOT PROVIDED" ] }. .. }... }... ]... )

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

{ "_id" :ObjectId("5e591aea2ae06a1609a00af6"), "이름":"크리스" }{ "_id":ObjectId("5e591aef2ae06a1609a00af7"), "이름":"_ID 제공되지 않음" ("5e591af42ae06a1609a00af8"), "이름":"데이비드" }{ "_id":ObjectId("5e591afb2ae06a1609a00af9"), "이름":"제공되지 않음" }