클래스: Mongo::Operation::Insert::BulkResult
- 다음을 포함합니다.
- 집계 가능
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/operation/insert/bulk_result.rb
개요
대량 쓰기의 일부로 전송된 삽입에 대한 결과의 사용자 지정 동작을 정의합니다.
상수 요약
Result에서 상속된 상수
Result::CURSOR, Result::CURSOR_ID, Result::FIRST_BATCH, Result::N, Result::NAMESPACE, Result::NEXT_BATCH, Result::OK, Result::RESULT
인스턴스 속성 요약 접기
-
#insert_ids ⇒ 객체
읽기 전용
삽입된 문서의 ID를 가져옵니다.
결과에서 상속된 속성
#connection_description, #connection_global_id, #replies
인스턴스 메서드 요약 접기
-
#initialize(replies, connection_description, connection_global_id, ids) ⇒ BulkResult
생성자
비공개
새 결과를 초기화합니다.
-
#insert_id ⇒ 객체
삽입된 문서의 ID를 가져옵니다.
-
#n_inserted ⇒ 정수
삽입된 문서 수를 가져옵니다.
Result에서 상속된 메서드
#acknowledged?, #cluster_time, #cursor_id, #documents, #each, #error, #has_cursor_id?, #inspect, #labels, #namespace, #ok?, #operation_time, #reply, #returned_count, #snapshot_timestamp, #successful?, #topology_version, #validate!, #write_concern_error?, #write_count
생성자 세부 정보
#initialize(replies, connection_description, connection_global_id, ids) ⇒ BulkResult
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
새 결과를 초기화합니다.
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/operation/insert/bulk_result.rb', 줄 51 def 초기화(답장, connection_description, connection_global_id, ID) @replies = [*답장] 만약 답장 @connection_description = connection_description @connection_global_id = connection_global_id 만약 답장 && 답장.first && (doc = 답장.first.문서.first) 만약 errors = doc['writeErrors'] # 일부 문서가 삽입되었을 가능성이 있습니다. 배드 인덱스 = {} errors.map do |오류| 배드 인덱스[오류['인덱스']] = true end @inserted_ids = [] ID.each_with_index do |id, index| 만약 배드 인덱스[index].nil? @inserted_ids << id end end #인정이 되었는지 모르겠다. 여기에서 확인이 필요합니다. # 최대한 아프지 않습니다. elsif 인정? && 성공했니? # 회신이 있으며 회신이 성공했으며 # 회신에 writeErrors 없음 - 모든 항목이 삽입됨 @inserted_ids = ID other # 회신을 받았지만 회신이 실패했습니다. # writeErrors가 없습니다 - 아무것도 삽입되지 않았습니다. # 무언가가 삽입되면 회신이 성공하지 못합니다. # 하지만 writeErrors가 발생합니다. @inserted_ids = [] end other # 여기까지 오면 안 될 것 같지만, # 이전 드라이버처럼 작동하도록 합니다. @inserted_ids = ID end end |
인스턴스 속성 세부 정보
#insert_ids ⇒ 객체 (읽기 전용)
삽입된 문서의 ID를 가져옵니다.
33 34 35 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/operation/insert/bulk_result.rb', 줄 33 def insert_ids @inserted_ids end |
인스턴스 메서드 세부 정보
#insert_id ⇒ 객체
삽입된 문서의 ID를 가져옵니다.
110 111 112 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/operation/insert/bulk_result.rb', 줄 110 def insert_id insert_ids.first end |
#n_inserted ⇒ 정수
삽입된 문서 수를 가져옵니다.
97 98 99 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/operation/insert/bulk_result.rb', 줄 97 def n_inserted write_count end |