Mongoose return data inside _doc object

I know this is old but I had similar issue. To fix this problem use .lean().

The lean option tells Mongoose to skip hydrating the result documents. This makes queries faster and less memory intensive, but the result documents are plain old JavaScript objects (POJOs), not Mongoose documents.

so your query would be:

PatientOrderMigration.find({ mrn: orderitem.mrn, visituid: orderitem.visituid }).lean()

Well, Model.find() will Give you Array of objects found on DB, if you want to access directly to your object you can use Model.findOne()

OR => A quick Fix :

PatientOrderMigration.find({ mrn: orderitem.mrn, visituid: orderitem.visituid },function (err, orderDoc) {

    orderDoc = orderDoc[0];//Here is the Fix, you can comment this if you use findOne

    orderDoc.mrn = "New Value you want to update";

    orderDoc.save(function(err, result){
           console.log('err',err)
   })
}}