문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

삽입

이 페이지의 내용

  • 요약
  • 설명
  • 예제
insert

작업이 컬렉션에 문서를 추가할 때 insert 이벤트가 발생합니다.

필드
유형
설명
_id
문서

변경 스트림 이벤트의 식별자 역할을 하는 BSON 객체입니다. 이 값은 변경 스트림을 재개할 때 resumeAfter 매개변수의 resumeToken(으)로 사용됩니다. _id 개체의 형식은 다음과 같습니다.

{
"_data" : <BinData|hex string>
}

_data 유형은 MongoDB 버전 및 경우에 따라 변경 스트림 열기 또는 재개 시점의 기능 호환성 버전(FCV) 에 따라 달라집니다. _data 유형의 전체 목록은 재개 토큰 을 참조하세요.

resumeToken 기준으로 변경 스트림을 재개하는 예제는 변경 스트림 재개를 참조하세요.

clusterTime
타임스탬프

이벤트와 연결된 oplog 항목의 타임스탬프입니다.

다중 문서 트랜잭션과 연결된 변경 스트림 이벤트 알림은 모두 동일한 clusterTime 값(트랜잭션이 커밋된 시간)을 가집니다.

샤딩된 클러스터에서는 동일한 clusterTime 이벤트가 모두 동일한 트랜잭션과 관련되지 않을 수 있습니다. 일부 이벤트는 트랜잭션과는 전혀 관련이 없습니다.

단일 트랜잭션에 대한 이벤트를 식별하려면 변경 스트림 이벤트 문서에서 lsidtxnNumber 조합을 사용할 수 있습니다.

버전 4.0에 추가.

collectionUUID
UUID

변경이 발생한 컬렉션을 식별하는 UUID입니다.

버전 6.0에 추가.

documentKey
문서

CRUD 작업으로 만들거나 수정한 문서의 _id 값이 들어 있는 문서입니다.

샤딩된 컬렉션의 경우 이 필드에는 문서의 전체 샤드 키도 표시됩니다. _id 필드가 이미 분할 키의 일부인 경우 반복되지 않습니다.

fullDocument
문서

작업으로 생성된 문서입니다.

버전 6.0에서 변경되었습니다.

MongoDB 6.0부터 db.createCollection(), create 또는 collMod을(를) 사용하여 changeStreamPreAndPostImages 옵션을 설정하면 fullDocument 필드에 문서가 삽입, 교체 또는 업데이트된 후의 문서(문서 사후 이미지)가 표시됩니다. fullDocument은(는) insert 이벤트에 항상 포함됩니다.

lsid
문서

트랜잭션과 연결된 세션의 식별자입니다.

작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다.

버전 4.0에 추가.

ns
문서

이벤트의 영향을 받는 네임스페이스(데이터베이스 및/또는 컬렉션)입니다.

ns.coll
문자열

이벤트가 발생한 컬렉션의 이름입니다.

ns.db
문자열

이벤트가 발생한 데이터베이스의 이름입니다.

operationType
문자열

변경 알림이 보고하는 작업 유형입니다.

이러한 변경 이벤트에 대해 insert 값을 반환합니다.

txnNumber
NumberLong

lsid 와 함께 트랜잭션을 고유하게 식별하는 데 도움이 되는 숫자입니다.

작업이 다중 문서 트랜잭션의 일부인 경우에만 표시됩니다.

버전 4.0에 추가.

wallTime

데이터베이스 작업의 서버 날짜 및 시간입니다. wallTime은(는) clusterTime이(가) 데이터베이스 작업 이벤트와 관련된 oplog 항목에서 가져온 타임스탬프라는 점에서 clusterTime와(과) 다릅니다.

버전 6.0에 추가.

다음 예시는 insert 이벤트에 대한 설명입니다.

{
"_id": { <Resume Token> },
"operationType": "insert",
"clusterTime": <Timestamp>,
"wallTime": <ISODate>,
"ns": {
"db": "engineering",
"coll": "users"
},
"documentKey": {
"userName": "alice123",
"_id": ObjectId("599af247bb69cd89961c986d")
},
"fullDocument": {
"_id": ObjectId("599af247bb69cd89961c986d"),
"userName": "alice123",
"name": "Alice"
}
}

documentKey 필드에는 _iduserName 필드가 모두 포함되어 있습니다. 이는 engineering.users 컬렉션이 샤딩되었으며 샤드 키가 userName_id 에 있음을 나타냅니다.

fullDocument 문서는 삽입 시점의 문서 버전을 나타냅니다.

← 드롭 인덱스

이 페이지의 내용