MongoServerError: Performing an update on the path '_id' would modify the immutable field '_id'
While updating the _id is not possible, because this is an immutable field, there is another way to make this happen.
- iterate through the collection
- save the old
_idin a variable - set the new
_idfield value toObjectId - remove the old item
Sample code:
db.products.find().forEach(function(doc){
var oldId = doc._id
doc._id=ObjectId()
db.products.insert(doc)
db.products.deleteOne({ _id: oldId})
})
Top comments (0)