class_docstr: Interact with Mongo. This hook uses the Mongo conn_id.
  
  PyMongo Wrapper to Interact With Mongo Database
  Mongo Connection Documentation
  https://docs.mongodb.com/manual/reference/connection-string/index.html
  You can specify connection string options in extra field of your connection
  https://docs.mongodb.com/manual/reference/connection-string/index.html#connection-string-options
  
  If you want use DNS seedlist, set `srv` to True.
  
  ex.
      {"srv": true, "replicaSet": "test", "ssl": true, "connectTimeoutMS": 30000}
  
  :param mongo_conn_id: The :ref:`Mongo connection id <howto/connection:mongo>` to use
      when connecting to MongoDB.
class_docstr_tok: ["Interact","with","Mongo",".","This","hook","uses","the","Mongo","conn_id",".","PyMongo","Wrapper","to","Interact","With","Mongo","Database","Mongo","Connection","Documentation","https",":","\/\/docs.mongodb.com\/manual\/reference\/connection-string\/index.html","You","can","specify","connection","string","options","in","extra","field","of","your","connection","https",":","\/\/docs.mongodb.com\/manual\/reference\/connection-string\/index.html","#","connection-string-options","If","you","want","use","DNS","seedlist",",","set","`","srv","`","to","True",".","ex",".","{","``","srv","''",":","true",",","``","replicaSet","''",":","``","test","''",",","``","ssl","''",":","true",",","``","connectTimeoutMS","''",":","30000","}",":","param","mongo_conn_id",":","The",":","ref",":","`","Mongo","connection","id","<","howto\/connection",":","mongo",">","`","to","use","when","connecting","to","MongoDB","."]
docstr: Returns a list of distinct values for the given key across a collection.
  
  https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection.distinct
  
  :param mongo_collection: The name of the collection to perform distinct on.
  :param distinct_key: The field to return distinct values from.
  :param filter_doc: A query that matches the documents get distinct values from.
      Can be omitted; then will cover the entire collection.
  :param mongo_db: The name of the database to use.
      Can be omitted; then the database from the connection string is used.
docstr_tok: ["Returns","a","list","of","distinct","values","for","the","given","key","across","a","collection",".","https",":","\/\/pymongo.readthedocs.io\/en\/stable\/api\/pymongo\/collection.html","#","pymongo.collection.Collection.distinct",":","param","mongo_collection",":","The","name","of","the","collection","to","perform","distinct","on",".",":","param","distinct_key",":","The","field","to","return","distinct","values","from",".",":","param","filter_doc",":","A","query","that","matches","the","documents","get","distinct","values","from",".","Can","be","omitted",";","then","will","cover","the","entire","collection",".",":","param","mongo_db",":","The","name","of","the","database","to","use",".","Can","be","omitted",";","then","the","database","from","the","connection","string","is","used","."]
code: def distinct(
      self,
      mongo_collection: str,
      distinct_key: str,
      filter_doc: dict | None = None,
      mongo_db: str | None = None,
      **kwargs,
  ) -> list[Any]:
      """
      Returns a list of distinct values for the given key across a collection.
  
      https://pymongo.readthedocs.io/en/stable/api/pymongo/collection.html#pymongo.collection.Collection.distinct
  
      :param mongo_collection: The name of the collection to perform distinct on.
      :param distinct_key: The field to return distinct values from.
      :param filter_doc: A query that matches the documents get distinct values from.
          Can be omitted; then will cover the entire collection.
      :param mongo_db: The name of the database to use.
          Can be omitted; then the database from the connection string is used.
      """
      collection = self.get_collection(
          mongo_collection, mongo_db=mongo_db
      )
  
      return collection.distinct(
          distinct_key, filter=filter_doc, **kwargs
      )
  
imports: from __future__ import annotations
  from ssl import CERT_NONE
  from typing import TYPE_CHECKING, Any, overload
  from urllib.parse import quote_plus, urlunsplit
  import pymongo
  from pymongo import MongoClient, ReplaceOne
  from airflow.hooks.base import BaseHook
label_desc: Use image node_id 19 for calling the MongoHook obj's underlying member method code with example usage: obj.distinct(mongo_collection, distinct_key, filter_doc, mongo_db) and returns: collection