Computer >> 컴퓨터 >  >> 프로그래밍 >> MongoDB

MongoDB에서 이름에 공백이 포함된 키를 쿼리하는 방법

MongoDB에서 이름에 공백이 있는 키 조회하기

MongoDB에서 필드 이름에 공백이 포함된 키를 쿼리하려면 점(.) 표기법을 사용하면 됩니다. 키 이름에 공백이 있어도 점 표기법과 따옴표를 조합하면 별도의 처리 없이 간단하게 데이터를 조회할 수 있습니다.

아래에서 단계별로 살펴보겠습니다.

1단계: 이름에 공백이 포함된 키를 가진 객체 생성

먼저 키 이름에 공백이 들어간 객체를 생성합니다. 다음 쿼리를 실행해 보세요.

> myValues["Details"] = {}
{ }
> myValues["Details"]["Student Name"]="John";
John
> myValues["Details"]["StudentAge"]=26;
26

위 코드에서는 "Details"라는 하위 문서를 만들고, 그 안에 공백이 포함된 키인 "Student Name"과 일반적인 키인 "StudentAge"를 함께 정의했습니다.

2단계: 컬렉션 생성 후 문서 저장

이제 새로운 컬렉션을 만들고 앞서 생성한 객체를 하나의 문서로 저장합니다. 다음 쿼리를 사용하세요.

> db.keyHavingSpaceDemo.insertOne( myValues);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5ca27e3b6304881c5ce84ba4")
}

insertOne() 메서드가 성공적으로 실행되면 위와 같이 acknowledged 값이 true로 반환되며, 자동으로 생성된 ObjectId도 확인할 수 있습니다.

저장된 문서 확인하기

find() 메서드를 사용하면 컬렉션에 저장된 모든 문서를 조회할 수 있습니다.

> db.keyHavingSpaceDemo.find().pretty();

실행 결과는 다음과 같습니다.

{
   "_id" : ObjectId("5ca27e3b6304881c5ce84ba4"),
   "Details" : {
       "Student Name" : "John",
       "StudentAge" : 26
   }
}

공백이 있는 키 쿼리하기

이제 핵심 단계입니다. 공백이 포함된 키 "Student Name"을 쿼리하려면 아래와 같이 점 표기법과 함께 전체 경로를 큰따옴표로 감싸주면 됩니다.

> db.keyHavingSpaceDemo.find({ "Details.Student Name": "John"} ).pretty();

쿼리 실행 결과는 다음과 같습니다.

{
   "_id" : ObjectId("5ca27e3b6304881c5ce84ba4"),
   "Details" : {
       "Student Name" : "John",
       "StudentAge" : 26
   }
}

정리

MongoDB에서 이름에 공백이 있는 키를 쿼리하는 방법을 정리하면 다음과 같습니다.

  • 중첩된 필드에 접근할 때는 점(.) 표기법을 사용합니다.
  • 필드 경로 전체를 큰따옴표(")로 묶어야 공백이 포함된 키도 정상적으로 인식됩니다.
  • 예시: { "Details.Student Name": "John" }

이처럼 MongoDB는 키 이름에 공백이 있어도 점 표기법과 따옴표만 올바르게 사용하면 아무런 문제 없이 데이터를 조회할 수 있습니다. 다만 스키마 설계 시에는 가능한 한 공백 없는 필드명이나 카멜케이스(camelCase)를 사용하는 것이 유지보수 측면에서 더 권장됩니다.