class_docstr: Wrap MongoDB with three primary methods `read`, `write`, `remove`.
  
  Attributes
  ----------
  host : str
     Hostname or MongoDB compliant full credentials+address+database
     specification.
  
  Information on MongoDB `connection string
  <https://docs.mongodb.com/manual/reference/connection-string/>`_.
  
  .. seealso:: :class:`orion.core.io.database.Database` for more on attributes.
docstr: Init method, see attributes of :class:`Database`.
docstr_tok: ["Init","method",",","see","attributes","of",":","class",":","`","Database","`","."]
code: def __init__(
      self,
      host="",
      name=None,
      port=None,
      username=None,
      password=None,
      serverSelectionTimeoutMS=5000,
  ):
      """Init method, see attributes of :class:`Database`."""
      if host == "":
          host = "localhost"
      self.uri = None
  
      if port is not None:
          port = int(port)
      else:
          port = pymongo.MongoClient.PORT
  
      super().__init__(
          host,
          name,
          port,
          username,
          password,
          serverSelectionTimeoutMS=serverSelectionTimeoutMS,
          authSource=name,
      )
  
imports: import functools
  import pymongo
  from orion.core.io.database import Database, DatabaseError, DatabaseTimeout, DuplicateKeyError
label_desc: Use image node_id 1 to create a new MongoDB object from inherited base classes: Database with example: obj = MongoDB(host, name, port, username, password, serverSelectionTimeoutMS)