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

id가 문서 필드 배열 값과 같은 경우 제외할 MongoDB 쿼리

<시간/>

이를 위해 $in과 함께 $not을 사용합니다. 문서로 컬렉션을 만들자 −

[
   {
      id: "101",
      subjectid: [
         "102"
      ]
   },
   {
      id: "102",
      subjectid: [
         "102"
      ]
   }
]

다음은 스냅샷입니다.

id가 문서 필드 배열 값과 같은 경우 제외할 MongoDB 쿼리

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

db.collection.find()

id가 문서 필드 배열 값과 같은 경우 제외할 MongoDB 쿼리

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

[
   {
      "_id": ObjectId("5a934e000102030405000000"),
      "id": "101",
      "subjectid": [
         "102"
      ]
   },
   {
      "_id": ObjectId("5a934e000102030405000001"),
      "id": "102",
      "subjectid": [
         "102"
      ]
   }
]

다음은 일치하는 필드 배열 값을 제외한 값을 가져오기 위해 $expr, $not 및 $in을 사용하는 쿼리입니다 -

db.collection.find({
   $expr: {
      $not:{
         $in: [
            "$id",
            "$subjectid"
         ]
      }
   }
})

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

[
   {
      "_id": ObjectId("5a934e000102030405000000"),
      "id": "101",
      "subjectid": [
         "102"
      ]
   }
]