166 CommandNotSupportedOnView: CommandNotSupportedOnView
MongoDB의미
이 명령은 뷰에서 지원되지 않는다. MongoDB 뷰는 읽기 전용이며 특정 읽기 작업만 받고, 쓰기나 지원되지 않는 명령은 거부된다.
원인
뷰에서 insert/update/delete 같은 쓰기 작업이나 뷰에서 지원되지 않는 특정 명령(예: 일부 text/geo 작업, 직접 인덱스 생성)을 시도한 경우다. 애플리케이션이 뷰를 컬렉션으로 생각하고 쓰려 할 때 나타난다.
해결 방법
쓰기는 뷰의 기반(소스) 컬렉션에서 수행한다. 뷰는 읽기 전용이다. 명령이 뷰에서 지원되는지 확인하고 지원되는 읽기/aggregation 작업을 사용한다. 쓰기 가능한 구조가 필요하면 뷰 대신 materialized 컬렉션($merge/$out)을 설계한다.