code: def _legacy_add_user(self, name, password, read_only, **kwargs):
          
          # Use a Collection with the default codec_options.
          system_users = self._collection_default_options('system.users')
          user = system_users.find_one({"user": name}) or {"user": name}
          if password is not None:
              user["pwd"] = auth._password_digest(name, password)
          if read_only is not None:
              user["readOnly"] = read_only
          user.update(kwargs)
  
          # We don't care what the _id is, only that it has one
          # for the replace_one call below.
          user.setdefault("_id", ObjectId())
          try:
              system_users.replace_one({"_id": user["_id"]}, user, True)
          except OperationFailure as exc:
              # First admin user add fails gle in MongoDB >= 2.1.2
              # See SERVER-4225 for more information.
              if 'login' in str(exc):
                  pass
              # First admin user add fails gle from mongos 2.0.x
              # and 2.2.x.
              elif (exc.details and
                    'getlasterror' in exc.details.get('note', '')):
                  pass
              else:
                  raise
docs: Uses v1 system to add users, i.e. saving to system.users.