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

배열의 부분 객체에 대한 MongoDB 쿼리

<시간/>

먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.queryForPartialObjectDemo.insertOne({_id:new ObjectId(), "StudentDetails": [{"StudentId":1, "StudentName":"Chris"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdfcf55bf3115999ed51206")
}
> db.queryForPartialObjectDemo.insertOne({_id:new ObjectId(), "StudentDetails": [{"StudentId":2, "StudentName":"David"}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdfcf55bf3115999ed51207")
}

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

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

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

{
   "_id" : ObjectId("5cdfcf55bf3115999ed51206"),
   "StudentDetails" : [
      {
         "StudentId" : 1,
         "StudentName" : "Chris"
      }
   ]
}
{
   "_id" : ObjectId("5cdfcf55bf3115999ed51207"),
   "StudentDetails" : [
      {
         "StudentId" : 2,
         "StudentName" : "David"
      }
   ]
}

첫 번째 접근

다음은 MongoDB가 있는 배열의 부분 객체에 대한 쿼리입니다 -

> db.queryForPartialObjectDemo.find({StudentDetails: {StudentId: 1, "StudentName" : "Chris"}});

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

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }

두 번째 접근 방식

다음은 점 표기법을 사용하는 배열의 부분 개체에 대한 쿼리입니다. -

> db.queryForPartialObjectDemo.find({"StudentDetails.StudentName":"Chris"});

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

{ "_id" : ObjectId("5cdfcf55bf3115999ed51206"), "StudentDetails" : [ { "StudentId" : 1, "StudentName" : "Chris" } ] }