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

다른 하나가 null인 경우 하나의 필드를 선택하는 MongoDB 쿼리?

<시간/>

다른 필드가 null인 경우 한 필드를 선택하려면 $ifNull을 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo182.insertOne({"FirstName":"Chris","LastName":null});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e398ea19e4f06af55199802")
}
> db.demo182.insertOne({"FirstName":null,"LastName":"Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e398ead9e4f06af55199803")
}
>
> db.demo182.insertOne({"FirstName":"John","LastName":"Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e398ebf9e4f06af55199804")
}

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

> db.demo182.find();

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

{ "_id" : ObjectId("5e398ea19e4f06af55199802"), "FirstName" : "Chris", "LastName" : null }
{ "_id" : ObjectId("5e398ead9e4f06af55199803"), "FirstName" : null, "LastName" : "Miller" }
{ "_id" : ObjectId("5e398ebf9e4f06af55199804"), "FirstName" : "John", "LastName" : "Smith" }

다음은 다른 필드가 null인 경우 한 필드를 선택하는 쿼리입니다. -

> db.demo182.aggregate([
...   {
...      $project: {
...         "item": 1,
...         "Result": { "$ifNull": [ "$FirstName", "$LastName" ] }
...      }
...   }
...])

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

{ "_id" : ObjectId("5e398ea19e4f06af55199802"), "Result" : "Chris" }
{ "_id" : ObjectId("5e398ead9e4f06af55199803"), "Result" : "Miller" }
{ "_id" : ObjectId("5e398ebf9e4f06af55199804"), "Result" : "John" }