MongoDB에서 새 문서 삽입하기
MongoDB 컬렉션(Collection)에 새로운 문서(Document)를 삽입하려면 insert() 메서드 또는 save() 메서드를 사용하면 됩니다. 두 가지 방법을 각각 살펴보겠습니다.
방법 1: insert() 메서드 사용
insert() 메서드의 기본 문법은 다음과 같습니다.
db.yourCollectionName.insert(yourDocument);
방법 2: save() 메서드 사용
save() 메서드의 기본 문법은 다음과 같습니다.
db.yourCollectionName.save(yourDocument);
위의 두 문법 모두, 지정한 컬렉션이 아직 존재하지 않는다면 MongoDB가 자동으로 새 컬렉션을 생성한 뒤 해당 컬렉션에 문서를 삽입합니다. 즉, 별도의 createCollection() 호출 없이도 컬렉션이 만들어지는 것입니다.
실제 삽입 예제
예제 1: insert() 메서드로 문서 삽입
이미 존재하는 'userInformation' 컬렉션에 문서를 삽입하는 쿼리입니다.
> db.userInformation.insert({
... "Name":"John",
... Age:30,
... isStudent:false,
... "Subjects":["Introduction to java","Introduction to MongoDB"]
...
});실행 결과는 다음과 같습니다.
WriteResult({ "nInserted" : 1 })위 예제에서는 'userInformation'이라는 컬렉션이 이미 존재했기 때문에, MongoDB는 새로운 컬렉션을 생성하지 않고 기존 컬렉션에 문서만 추가합니다.
예제 2: save() 메서드로 문서 삽입
이번에는 save() 메서드를 사용해 문서를 삽입해 보겠습니다.
> db.employee.save({"EmployeeName":"Larry",Salary:180000,Age:25,
... "Address":({"CountryName":"US","CityName":"New York"})
... });실행 결과는 다음과 같습니다.
WriteResult({ "nInserted" : 1 })위 쿼리에서는 'employee'라는 이름의 컬렉션이 존재하지 않았습니다. 따라서 MongoDB가 자동으로 'employee'라는 이름의 컬렉션을 생성하고, 그 안에 문서를 삽입했습니다.
생성된 컬렉션 확인하기
현재 데이터베이스에 있는 모든 컬렉션 목록을 확인하려면 show 명령어를 사용합니다.
> show collections;
실행 결과:
employee
userInformation
결과를 보면 createCollection()으로 직접 생성하지 않았음에도 'employee' 컬렉션이 목록에 포함되어 있는 것을 확인할 수 있습니다. 이처럼 MongoDB는 문서 삽입 시 대상 컬렉션이 없으면 자동으로 생성해 주기 때문에 개발 과정이 한층 편리해집니다.