This issue is very similar to SERVER-5053, but focusing on the index field, not the duplicate keys.
In other words, I'm not really so much interested in
"key": { "_id" : ObjectId('4e683574bc4135eee514713f') }
as I am in
"index" : "test.people.$_id_"
or better yet, fields like these:
"ns": "test.people" "index" : "_id_"
SERVER-5053 got closed as a duplicate of SERVER-4637 which doesn't even mention the index field, but suggests adding the keys as well as the _ids, which in turn resulted in some ambiguity on how to solve some problems that came up and the issue has been stalled since 2012.
So, without getting bogged down by issues related to keys and _ids, would it be possible to just add the index name to the error object first and then figure out the rest later?
I find nearly all of MongoDB's design and interfaces very elegant and pleasant to work with, but this is a major exception among the most common use cases. The duplicate key error message parsing is the messiest part of the Mongo interface in many applications.
So this (hopefully simple) change would be a lot of help to many developers struggling with this problem.
- is depended on by
-
DRIVERS-712 Add index name as a separate field on duplicate key error object
- Closed
- is duplicated by
-
SERVER-3069 Add extra fields to getLastError output on duplicate key error
- Closed
-
SERVER-33814 Include additional metadata as properties on 11000 error messages
- Closed
- is related to
-
SERVER-14801 duplicate key error should report field names as well as values
- Closed
- related to
-
SERVER-27021 add index name to duplicate record error message
- Closed
-
SERVER-4637 E11000 (duplicate key error) should return a list of duplicate keys and _ids in insert, bulk insert, and continue_on_error inserts.
- Open
-
SERVER-3372 Allow indexing fields of arbitrary length
- Closed
-
SERVER-14543 Display _id of document that fails indexing for key too large
- Closed