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

배열의 필드를 비교하는 MongoDB의 문서를 쿼리하는 방법은 무엇입니까?

<시간/>

배열의 필드를 비교하려면 $gt 및 $lt를 사용하십시오. 문서로 컬렉션을 만들자 −

> db.demo147.insertOne({"Details":[{"Score":45},{"Score":46}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32fa21fdf09dd6d08539be")
}
> db.demo147.insertOne({"Details":[{"Score":65},{"Score":86}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e32fa40fdf09dd6d08539bf")
}

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

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

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

{
   "_id" : ObjectId("5e32fa21fdf09dd6d08539be"),
   "Details" : [
      {
         "Score" : 45
      },
      {
         "Score" : 46
      }
   ]
}
{
   "_id" : ObjectId("5e32fa40fdf09dd6d08539bf"),
   "Details" : [
      {
         "Score" : 65
      },
      {
         "Score" : 86
      }
   ]
}

다음은 배열의 필드를 비교하여 MongoDB에서 문서를 쿼리하는 방법입니다 -

> db.demo147.find({ 'Details.Score': { $gt: 45, $lt: 50 }});

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

{ "_id" : ObjectId("5e32fa21fdf09dd6d08539be"), "Details" : [ { "Score" : 45 }, { "Score" : 46 } ] }