insert() 메서드의 주요 옵션단일 문서 삽입
db.collection.insertOne({ key: value })
단일 문서를 컬렉션에 삽입합니다. 기존에는 insert()라는 메소드가 있었지만 지금은 insertOne()과 insertMany()로 구분해서 사용하는 것을 권장하고 있습니다.
여러 문서 삽입
db.collection.insertMany([
{ key1: value1 },
{ key2: value2 },
// 추가 문서들
])
여러 문서를 한 번에 컬렉션에 삽입합니다. 이때 json객체들이 []안에 있는데 이것을 생략하시면 안됩니다.
쓰기 안정성 보장
db.collection.insertOne(document, { writeConcern: <document> })
쓰기 작업의 안정성을 보장하기 위해 Write Concern을 설정할 수 있습니다. 이 옵션은 쓰기 작업이 성공적으로 완료되었음을 확인하는 데 사용됩니다.
{ w: , j: , wtimeout: }
w
쓰기 작업이 지정된 수의 mongod 인스턴스로 전파되었는지를 확인합니다. replica mongodb가 존재하는 경우 설정 옵션에 따라 개수를 확인하고 응답합니다. (majority의 경우 과반수로 적용하며 숫자를 적는 경우 해당 숫자만큼에 저장된 것을 확인)
j
쓰기 작업이 온디스크 저널에 기록되었다는 확인을 요청합니다. 이를 통해 나중에 복구를 할 경우 log에 남긴 명령어들을 이용해서 다시 해당 상태로 복구할 수 있는 옵션입니다. false로 지정할 경우 성능은 올라갈 수 있지만 안정성은 떨어질 수 있습니다.
wtimeout
timeout을 설정할 수 있습니다.
유니크 인덱스 관리
db.collection.insert(document, { ordered: <boolean> })
ordered 옵션을 사용하여 유니크 인덱스 충돌 시 동작을 지정할 수 있습니다. 기본값은 true이며, 이 경우 삽입 작업이 중단됩니다. false로 설정하면 중단되지 않고 계속 진행됩니다.
find() 메서드의 기본 구문db.collection.find(query, projection)
query : 검색할 조건을 나타내는 문서입니다. 예를 들어서 이름이 john인 document를 찾는다면?{name : john}형태로 사용하시면 됩니다. 기본은 eq로 사용이 됩니다. 또는 아래와 같이 조건식으로도 사용하실 수 있습니다.{age : {$gt : 20}} (많은 표현식이 있기에 공식문서를 보시는 것을 추천드립니다.)projection (선택 사항) : 반환될 문서의 필드를 제어합니다. 사용 예로는 {name: 1, age: 0} -> name을 출력하되 age는 출력을 하지 않는다.(단 _id는 기본으로 출력이 되기에 출력을 하고 싶지 않다면 _id:0을 명시적으로 설정해주시면 됩니다.)find() 메서드의 주요 옵션검색 조건 지정
db.collection.find({ key: value })
이것은 필드 key가 특정 값 value와 일치하는 문서를 반환합니다.
다양한 연산자를 사용하여 더 복잡한 조건을 지정할 수도 있습니다. 몇 가지 예는 다음과 같습니다:
$eq : 값이 주어진 값과 동일한 문서를 반환합니다.
$gt : 값이 주어진 값보다 큰 문서를 반환합니다.
$lt : 값이 주어진 값보다 작은 문서를 반환합니다.
$in : 값이 주어진 배열의 값 중 하나와 일치하는 문서를 반환합니다.
$and: 논리적 AND를 사용하여 쿼리 절을 조인하면 두 절의 조건과 일치하는 모든 문서를 반환합니다.
$not: 쿼리 표현식의 효과를 반전시키고 쿼리 표현식과 일치하지 않는 문서를 반환합니다.
$nor: 논리적 NOR를 사용하여 쿼리 절을 조인하면 두 절과 일치하지 않는 모든 문서를 반환합니다.
$or: 논리적 OR를 사용하여 쿼리 절을 조인하면 두 절의 조건과 일치하는 모든 문서를 반환합니다.
$exists: 지정된 필드가 있는 문서와 일치시킵니다.$type: 필드가 지정된 유형인 경우 문서를 선택합니다.$regex: 지정된 표현식과 일치하는 값이 있는 문서를 선택합니다.제한
db.collection.find().limit(number)
반환되는 문서 수를 제한합니다. number는 반환할 최대 문서 수입니다.
건너뛰기
db.collection.find().skip(number)
결과에서 처음 number 개의 문서를 건너뜁니다. 주로 페이징을 구현할 때 사용됩니다.
MongoDB 공식문서 : MongoDB