code: private boolean updateObjectSameShard(DBObject dbObj, Map<String, String> currScalarMap) {
          boolean bUpdated = false;
          checkForNewShard(dbObj);
          checkNewlySharded(dbObj, currScalarMap);
          for (String fieldName : dbObj.getUpdatedFieldNames()) {
              FieldUpdater fieldUpdater = FieldUpdater.createFieldUpdater(this, dbObj, fieldName);
              bUpdated |= fieldUpdater.updateValuesForField(currScalarMap.get(fieldName));
          }
          return bUpdated;
      }
docs: through here.