MongoDB 컬렉션 이름에 마침표(.) 기호를 사용할 수 있을까?
결론부터 말하면 가능합니다. MongoDB에서는 컬렉션 이름에 마침표(.) 기호를 포함할 수 있습니다. 다만 한 가지 주의할 점이 있습니다. 마침표가 들어간 컬렉션은 일반적인 점 표기법(db.컬렉션명)으로는 접근할 수 없으며, 반드시 db.getCollection() 메서드를 사용해야 합니다.
마침표가 포함된 컬렉션 생성 및 문서 삽입
아래 예제는 demo28.example이라는 이름의 컬렉션을 생성하고, 세 개의 문서를 차례로 삽입하는 과정입니다.
> db.getCollection('demo28.example');
web.demo28.example
>
> db.getCollection('demo28.example').insertOne({"Name":"Chris","Age":32});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15fbe48f2315c2efc48e6b")
}
> db.getCollection('demo28.example').insertOne({"Name":"Bob","Age":31});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15fbec8f2315c2efc48e6c")
}
> db.getCollection('demo28.example').insertOne({"Name":"David","Age":33});
{
"acknowledged" : true,
"insertedId" : ObjectId("5e15fbf38f2315c2efc48e6d")
}find() 메서드로 저장된 문서 조회하기
컬렉션에 저장된 모든 문서는 find() 메서드를 통해 확인할 수 있습니다.
> db.getCollection('demo28.example').find().pretty();위 명령을 실행하면 다음과 같은 결과가 출력됩니다.
{
"_id" : ObjectId("5e15fbe48f2315c2efc48e6b"),
"Name" : "Chris",
"Age" : 32
}
{ "_id" : ObjectId("5e15fbec8f2315c2efc48e6c"), "Name" : "Bob", "Age" : 31 }
{
"_id" : ObjectId("5e15fbf38f2315c2efc48e6d"),
"Name" : "David",
"Age" : 33
}정리 및 참고 사항
마침표가 포함된 컬렉션 이름은 셸에서 db.demo28.example 형태로 직접 접근하면 의도대로 동작하지 않거나 오류가 발생할 수 있습니다. 따라서 항상 db.getCollection('컬렉션이름') 방식으로 접근하는 것이 안전합니다. 이러한 네이밍 방식은 컬렉션을 계층적인 네임스페이스처럼 구성하고 싶을 때 유용하게 활용할 수 있습니다.