All the errmsg's in the errDetails arrays are concatenated together into the top level errmsg. This will cause a quicker return message overflow size in the case where a write command overflows the 16MB return message.
{
"ok": 0,
"errCode": 65,
"errmsg": "multiple errors in batch : E11000 duplicate key error index: test.batch_write_protocol.$a_1 dup key: { : 1.0 } :: and :: E11000 duplicate key error index: test.batch_write_protocol.$a_1 dup key: { : 1.0 } :: and :: E11000 duplicate key error index: test.batch_write_protocol.$a_1 dup key: { : 1.0 }",
"n": 2,
"errDetails": [
{
"index": 1,
"errCode": 11000,
"errmsg": "E11000 duplicate key error index: test.batch_write_protocol.$a_1 dup key: { : 1.0 }"
},
{
"index": 3,
"errCode": 11000,
"errmsg": "E11000 duplicate key error index: test.batch_write_protocol.$a_1 dup key: { : 1.0 }"
},
{
"index": 4,
"errCode": 11000,
"errmsg": "E11000 duplicate key error index: test.batch_write_protocol.$a_1 dup key: { : 1.0 }"
}
]
}