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

특정 값보다 큰 배열 값을 가진 문서를 일치시키는 MongoDB 쿼리

<시간/>

$elemMatch를 사용할 수 있습니다. $elemMatch 연산자는 지정된 모든 쿼리 기준과 일치하는 요소가 하나 이상 있는 배열 필드가 포함된 문서를 찾습니다.

문서로 컬렉션을 만들자 −

> db.demo701.insertOne({"ListOfValues":[100,200,300]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e8cf551299a9f98c93b0")
}
> db.demo701.insertOne({"ListOfValues":[500,700,1000]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e8d8551299a9f98c93b1")
}
> db.demo701.insertOne({"ListOfValues":[300,350,450]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ea6e8e1551299a9f98c93b2")
}

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

> db.demo701.find();

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

{ "_id" : ObjectId("5ea6e8cf551299a9f98c93b0"), "ListOfValues" : [ 100, 200, 300 ] }
{ "_id" : ObjectId("5ea6e8d8551299a9f98c93b1"), "ListOfValues" : [ 500, 700, 1000 ] }
{ "_id" : ObjectId("5ea6e8e1551299a9f98c93b2"), "ListOfValues" : [ 300, 350, 450 ] }

다음은 특정 값보다 큰 배열 값을 가진 문서를 일치시키는 쿼리입니다 -

> db.demo701.find({"ListOfValues":{$elemMatch:{$gt:500}}});

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

{ "_id" : ObjectId("5ea6e8d8551299a9f98c93b1"), "ListOfValues" : [ 500, 700, 1000 ] }