본문 바로가기

mongoDB

[mongoDB] "errorMessage": "Cannot do exclusion on field dongAddress in inclusion projection"

반응형

 

 

mongoDb find query 문을 날리다가 나온 에러 

 

"errorMessage": "Cannot do exclusion on field dongAddress in inclusion projection"

 

projection 부분에 포함과 제외를 함께 쓸 수 없다는 에러였다. 

 

한 도큐먼트에 newAddress, dongAddress Field 그리고 기타 등등의 필드들이 있다면 

 

* 포함의 경우 

const result = await aCertainModel.find({}, 'newAddress dongAddress');

위의 쿼리문으로 가져올 필드들은 newAddress, dongAddress 가 된다. 

 

 

* 제외의 경우

const result = await aCertainModel.find({}, '-newAddress -dongAddress');

위의 쿼리문으로 가져올 도큐먼트 안에는 위의 두 필드가 제외된다. 

 

 

포함과 제외(-) 를 함께 쓰면 에러가 난다. 

const result = await aCertainMedel.find({}, 'newAddress -dongAddress');

 

*** 예외 ***

MongoDB 모든 도큐먼트에 자동 생성되는 _id 필드는 포함 / 제외가 함께 쓰여도 된다. 

ex) 

const result = await aCertainModel.find({}, '-_id newAddress');

요렇게하면 _id 필드는 제외하고 newAddress필드만 나온다. 

 

 

반응형