>

mongodb에서 bulk_write 작업을 수행 한 후 BulkWriteError는 콘솔에 "중복 키 오류"(예상되는)를 아래 형식으로 인쇄합니다.

{'nModified': 0, 'nUpserted': 0, 'nMatched': 0, 'writeErrors': 
[{u'index': 8, u'code': 11000, u'errmsg': u'E11000 duplicate key error 
index: csgdb_new1_5L_master.buckets.$name_1 dup key: { : "bucket19" }', 
u'op': {u'status': u'CREATED', u'owner': u'805c0f53803f91f56596c379c0', 
u'_id': {u'bucket_id': 1000009, u'system_id': u'22e08083-c09f-4465- 
99e3-02f7138ff58e'}, u'creation_time': Timestamp(1544509097, 0), 
u'name': u'bucket19'}}, {u'index': 9, u'code': 11000, u'errmsg': 
u'E11000 duplicate key error index: 
csgdb_new1_5L_master.buckets.$name_1 dup key: { : "bucket20" }', u'op': 
{u'status': u'CREATED', u'owner': u'805c0f53803f91f56596c379c0', 
u'_id': {u'bucket_id': 1000013, u'system_id': u'22e08083-c09f-4465- 
99e3-02f7138ff58e'}, u'creation_time': Timestamp(1544509118, 0), 
u'name': u'bucket20'}}, {u'index': 33, u'code': 11000, u'errmsg': 
u'E11000 duplicate key error index: 
csgdb_new1_5L_master.buckets.$name_1 dup key: { : "bucket22" }', u'op': 
{u'status': u'CREATED', u'owner': u'805c0f53803f91f56596c379c0', 
u'_id': {u'bucket_id': 1000011, u'system_id': u'22e08083-c09f-4465- 
99e3-02f7138ff58e'}, u'creation_time': Timestamp(1544509105, 0), 
u'name': u'bucket22'}}], 'upserted': [], 'writeConcernErrors': [], 
'nRemoved': 0, 'nInserted': 511154}

이 중복 키 오류에 대한 보고서를 작성하는 올바른 방법이 있습니까?  가능한 CSV 형식으로 오류를 캡처하고 싶다고 말합시다.

  • 답변 # 1

    ** 이것은 해결책에 대한 힌트입니다 **

    error 에서  당신이 writeErrors 를 얻을 수있는 개체  이것은 배열 [] 입니다 .

    위의 메시지가 실제로 오류 객체 인 경우-

    const writeErrors = error.writeErrors;
    
    

    이제 writeErrors 에서 for 루프를 수행 할 수 있습니다.  데이터를 추출하십시오. :)

  • 이전 c# - 텍스트 블록은 텍스트를 반으로 자르고 전체 텍스트를 표시하는 솔루션은 무엇입니까?
  • 다음 php - ImageMagick을 사용하여 이미지 데이터베이스를 사용하여 이미지를 비교 하시겠습니까?