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

MongoDB에서 문자와 숫자로 이루어진 컬렉션 이름으로 레코드 조회하는 방법

MongoDB에서는 컬렉션 이름에 문자와 숫자가 혼합되어 있어도 문제없이 사용할 수 있습니다. 다만 일반적인 db.컬렉션이름 형식의 점 표기법(dot notation)으로는 접근하기 어려우므로, db.getCollection() 메서드를 활용해야 합니다.

1. 문자와 숫자가 섞인 컬렉션 생성하기

먼저 아래와 같은 이름을 가진 컬렉션을 생성해 보겠습니다.

7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368

2. db.createCollection()으로 컬렉션 만들기

db.createCollection() 메서드를 사용하여 위 이름의 컬렉션을 생성합니다.

> db.createCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368');
{ "ok" : 1 }

{ "ok" : 1 }이 출력되면 컬렉션이 정상적으로 생성된 것입니다.

3. db.getCollection()으로 문서 삽입하기

컬렉션 이름에 하이픈(-)과 특수 문자가 포함되어 있으므로, db.getCollection()을 사용해 접근한 뒤 insertOne()으로 문서를 삽입합니다.

> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e2152ae06a1609a00aea")
}
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e21a2ae06a1609a00aeb")
}
> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').insertOne({"FirstName":"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e57e21e2ae06a1609a00aec")
}

세 개의 문서가 모두 성공적으로 삽입되었습니다.

4. find() 메서드로 전체 레코드 조회하기

find() 메서드를 사용하면 해당 컬렉션의 모든 문서를 확인할 수 있습니다.

> db.getCollection('7664734-541d-r5i5f-845575e-ghfhjrjr3747_demo368').find();

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

{ "_id" : ObjectId("5e57e2152ae06a1609a00aea"), "FirstName" : "Chris" }
{ "_id" : ObjectId("5e57e21a2ae06a1609a00aeb"), "FirstName" : "David" }
{ "_id" : ObjectId("5e57e21e2ae06a1609a00aec"), "FirstName" : "Bob" }

정리

컬렉션 이름에 숫자, 하이픈 등 특수 문자가 포함된 경우에는 점 표기법 대신 반드시 db.getCollection('컬렉션이름') 방식으로 접근해야 합니다. 이 방법만 기억하면 어떤 형식의 컬렉션 이름이라도 자유롭게 생성하고 데이터를 조회할 수 있습니다.