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

배열의 모든 요소가 MongoDB에서 특정 값을 갖는 문서를 찾으시겠습니까?

<시간/>

이를 위해 find()를 사용할 수 있습니다. 먼저 문서로 컬렉션을 생성해 보겠습니다. −

> db.findDocumentsDemo.insertOne( { _id:101, "ProductDetails":[ { "ProductValue":100 }, { "ProductValue":120 } ] });{ "승인됨" :true, "insertedId" :101 }> db.findDocumentsDemo.insertOne( { _id:102, "ProductDetails":[ { "ProductValue":120}, { "ProductValue":120 }, { "ProductValue":120 } ] });{ "확인됨" :true, "insertedId" :102 }

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

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

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

{ "_id" :101, "ProductDetails" :[ { "ProductValue" :100 }, { "ProductValue" :120 } ]}{ "_id" :102, "ProductDetails" :[ { "ProductValue" :120 }, { "제품가치" :120 }, { "제품가치" :120 } ]}

다음은 배열의 모든 요소에 특정 값(예:여기에서 ProductValue 120 −

)이 있는 문서를 찾는 쿼리입니다.
> db.findDocumentsDemo.find({ "ProductDetails.ProductValue" :{ }, "ProductDetails" :{ $not :{ $elemMatch :{ "ProductValue" :{ $ne :120 } } }}); 

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

{ "_id" :102, "ProductDetails" :[ { "ProductValue" :120 }, { "ProductValue" :120 }, { "ProductValue" :120 } ] }