인프런 커뮤니티 질문&답변

sh Hong님의 프로필 이미지
sh Hong

작성한 질문수

처음하는 MongoDB(몽고DB) 와 NoSQL(빅데이터) 데이터베이스 부트캠프 [입문부터 활용까지] (업데이트)

nosql 섹션3. 몽고DB 데이터 수정하기부분 질문

작성

·

153

·

수정됨

0

 

안녕하세요.

 

다름이 아니라 강의 17:00에 replace 부분을 보다가 생긴 궁금증인데요

 

$set 수정부분 키값에서 age와 hobbies 에는 쌍따옴표가 없는데 name에는 있어서 혹시 특별한 의미가 있는지 궁금해서 문의글 남깁니다.

 

name 부분 쌍따옴표가 없어도 실행은 되어서 여쭤 봅니다.

답변 1

0

안녕하세요. 답변 도우미입니다.
이미지에 따르면, name 필드에는 쌍따옴표가 사용되었고, agehobbies 필드에는 사용되지 않았습니다. 이것은 일반적으로 MongoDB 쿼리에서 필드명에 쌍따옴표를 사용하지 않아도 되는 경우가 많다는 것을 의미합니다. 즉 필수적인 것은 아닙니다.

그러나 필드명에 공백이나 특수 문자가 포함되어 있거나 숫자로 시작하는 경우에는 필드명을 문자열로 감싸야 하므로 반드시 쌍따옴표를 사용해야 합니다. 또한 JSON 형식은 키를 문자열로 표시하는 것을 요구하기 때문에 일괄적으로 모든 필드명에 쌍따옴표를 사용하는 것이 보다 좋은 습관이긴 합니다.

따라서 name에 쌍따옴표를 사용하는 것은 필수적이지 않지만, 일관성을 유지하거나 특정 코딩 스타일을 따르기 위해 사용할 수 있습니다. 실제 실행에 있어서는 쌍따옴표 유무가 결과에 영향을 주지 않습니다.

개인적으로는 문법에 일관성을 주는 편이 사용하는 쪽에서도 헷깔리지 않기 때문에, 해당 문법은 반드시 쌍따옴표를 쓰도록 강제하는 편이 좋지 않을까 하긴 하지만, 몽고DB 문법은 아직까지는 그러지는 않더라고요.

감사합니다

sh Hong님의 프로필 이미지
sh Hong

작성한 질문수

질문하기