배열에 값을 포함하지 않는 필드가 있는 문서를 일치시키려면 $nin을 사용하십시오. 문서로 컬렉션을 만들자 −
> db.demo180.insertOne({"점수":["80","90","110"]});{ "승인됨":true, "삽입 ID":ObjectId("5e3988a69e4f06af551997fb")}> db.demo180.insertOne({"점수":["110","70","60"]});{ "승인됨":true, "insertedId":ObjectId("5e3988b79e4f06af551997fc")}> db.demo18 insertOne({"점수":["40","70","1010"]});{ "승인됨":true, "insertedId":ObjectId("5e3988cc9e4f06af551997fd")}
find() 메서드를 사용하여 컬렉션의 모든 문서 표시 -
> db.demo180.find();
이것은 다음과 같은 출력을 생성합니다 -
[사전>{ "_id" :ObjectId("5e3988a69e4f06af551997fb"), "점수" :[ "80", "90", "110" ] }{ "_id" :ObjectId("5e3988b79e4f06af5551997") "110", "70", "60" ] }{ "_id" :ObjectId("5e3988cc9e4f06af551997fd"), "점수" :[ "40", "70", "1010" ] }다음은 배열에 값을 포함하지 않는 필드가 있는 문서를 일치시키는 쿼리입니다 -
> db.demo180.aggregate({ "$match":{ "점수":{ "$nin":["110","90"] } } }).pretty();
이것은 다음과 같은 출력을 생성합니다 -
{ "_id" :ObjectId("5e3988cc9e4f06af551997fd"), "점수" :[ "40", "70", "1010" ]}