Что ж, я хочу сделать основную c обработку ошибок и вернуть _id неверной вставки.
Когда я нахожусь в консоли mon go и пытаюсь вставить дубликат документа, выдается эта ошибка:
> db.users.insertOne({ firstname: "", lastname: "" })
2020-04-27T21:27:55.958+0200 E QUERY [js] WriteError({
"index" : 0,
"code" : 11000,
"errmsg" : "E11000 duplicate key error collection: clay.users index: lastname_1_firstname_1 dup key: { lastname: \"\", firstname: \"\" }",
"op" : {
"_id" : ObjectId("5ea7323b70f6a7fdfba31e24"),
"firstname" : "",
"lastname" : ""
}
})
Очень четкая ошибка дублирования с ошибочной операцией "op" и отвечающий _id. Когда я делаю это с драйвером mon go nodejs, я могу получить только эту ошибку:
driver: true,
name: 'MongoError',
index: 0,
code: 11000,
keyPattern: { lastname: 1, firstname: 1 },
keyValue: { lastname: 'Moon', firstname: 'Sania' },
errmsg: 'E11000 duplicate key error collection: clay.users index: lastname_1_firstname_1 dup key: { lastname: "Moon", firstname: "Sania" }',
[Symbol(mongoErrorContextSymbol)]: {}
Я могу проверить код ошибки и прочее, но не могу получить доступ к свойству "op" с неисправным "_id" для обработки. Было бы очень полезно для моей обработки ошибок и кода, если бы я мог получить доступ к ошибочному "_id". С уважением