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

'프로젝션'의 지정된 필드가 있는 하위 문서를 제한하는 MongoDB 쿼리

<시간/>

이를 위해 MongoDB에서 집계()를 사용합니다. 문서로 컬렉션을 만들자 −

> db.demo285.insertOne(
...   {... details : [
...      {
...         Name : "Chris"
...      },
...      {
...         Name2: "Bob"
...      },
...      {
...         Name: "Mike"
...      }
...   ]
...   }
...)
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e4abffef49383b52759cbb9")
}

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

> db.demo285.find();

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

{ "_id" : ObjectId("5e4abffef49383b52759cbb9"), "details" : [ { "Name" : "Chris" }, { "Name2" : "Bob" }, { "Name" : "Mike" } ] }

다음은 `projection` -

의 주어진 필드를 갖는 하위 문서를 제한하는 쿼리입니다.
> db.demo285.aggregate(
...   [
...      { $match:
...         {'details.Name' :
...            { $exists: 1 }
...         }
...      },
...         { $unwind: "$details" },
...         { $match:
...            {'details.Name' :
...            { $exists: 1 }
...         }
...      },
...      { $project: { Name: "$details.Name", _id: 0 } }
...   ])

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

{ "Name" : "Chris" }
{ "Name" : "Mike" }