해결된 질문
작성
·
167
0
8장에서 users 컬렉션 조회시 질문합니다.
필드를 안보이게 하기 위해서 find 메소드 두번째 인수에 값을 넘기는데 name, married는 string, boolean 타입인지 1, 0 만 넘길 경우
알아서 필드가 안보이고 보이게 되는데요.
그런데 age는 정수타입이라 그런지 아래와 같이 날리면 오류가 납니다. 정수의 경우에는 gt 와 같이 다르게 주어야 하나요? 왜 그런가요?
db.users.find({}, { name: 1, age: false });
Error: error: {
"ok" : 0,
"errmsg" : "Cannot do exclusion on field age in inclusion projection",
"code" : 31254,
"codeName" : "Location31254"
}
답변 1
1
1을 할거면 1만 쓰고, 0을 할거면 0만 써야 합니다.
name: 1이고 age를 안 가져오려면 name: 1만 쓰면 됩니다. 또는 age: 0만 쓰거나요.