Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-9385

Shell ignores modified object's "_id" field

    • ALL

      If an object is returned in the shell from a query (or any other way from the server) which is then modified the result will be that the "_id" field will be ignored when being sent to a mongodb server (in the bson encoding process).

      This is a bug in javascript (shell/client) but does not effect the server, other than the client not sending the _id field. It is possible to cause this behavior with javascript on the server using $eval (db.eval) or mapReduce, in the reduce phase if the first document in the array is modified (which is not a normal usage pattern).

      Orig Description
      There's a regression in the 2.4.2 shell, where if I write an object with my own _id, the shell ignores it and creates its own ObjectId. I found this out during a data migration today when my previously working JS function destroyed an entire table's worth of data


            mathias@mongodb.com Mathias Stearn
            chengas123 Ben McCann
            1 Vote for this issue
            14 Start watching this issue