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

문서 배열의 각 요소를 조건과 일치시키는 MongoDB 쿼리?

<시간/>

이를 위해 MongoDB에서 every()를 사용할 수 있습니다. 문서로 컬렉션을 만들자 −

> db.arrayConditionDemo.insertOne({"이름":"John","Marks":[40,43,45]});{ "승인됨":true, "insertedId":ObjectId("5cbdbd06de8cc557214c0e1a") }> db.arrayConditionDemo.insertOne({"이름":"마이크","마크":[45]});{ "승인됨":true, "insertedId":ObjectId("5cbdbd17de8cc557214c0e1b")}> db.arrayCondition insertOne({"이름":"크리스","마크":[43,45,59,69,78,89]});{ "승인됨":true, "insertedId":ObjectId("5cbdbd3cde8cc557214c0e1c")} 

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

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

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

{ "_id":ObjectId("5cbdbd06de8cc557214c0e1a"), "이름":"John", "Marks":[ 40, 43, 45 ]}{ "_id":ObjectId("5cbdbd17de8cc557214c0e1a"), "Name" :"마이크", "마크" :[ 45 ]}{ "_id" :ObjectId("5cbdbd3cde8cc557214c0e1c"), "이름" :"크리스", "마크" :[ 43, 45, 59, 69, 78, 89 ] }

다음은 문서 배열의 각 요소를 조건에 일치시키는 쿼리입니다 -

> db.arrayConditionDemo.find("return this.Marks.every(function(m) { return (m>=40 &&m<=100) })");

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

{ "_id":ObjectId("5cbdbd06de8cc557214c0e1a"), "이름":"John", "Marks":[ 40, 43, 45 ] }{ "_id":ObjectId("5cbdbd17de8cc557214c0e1a"), "Name" :"마이크", "마크" :[ 45 ] }{ "_id" :ObjectId("5cbdbd3cde8cc557214c0e1c"), "이름" :"크리스", "마크" :[ 43, 45, 59, 69, 78, 89 ] }