| def bson.objectid.ObjectId.__init__ | ( |  | self, | 
        
          |  |  |  | oid = None | 
        
          |  | ) |  |  | 
      
 
Initialize a new ObjectId.
If `oid` is ``None``, create a new (unique) ObjectId. If `oid`
is an instance of (:class:`basestring` (:class:`str` or :class:`bytes`
in python 3), :class:`ObjectId`) validate it and use that.  Otherwise,
a :class:`TypeError` is raised. If `oid` is invalid,
:class:`~bson.errors.InvalidId` is raised.
:Parameters:
  - `oid` (optional): a valid ObjectId (12 byte binary or 24 character
    hex string)
.. versionadded:: 1.2.1
   The `oid` parameter can be a ``unicode`` instance (that contains
   only hexadecimal digits).
.. mongodoc:: objectids
 
 
 
      
        
          | def bson.objectid.ObjectId.__getstate__ | ( |  | self | ) |  | 
      
 
return value of object for pickling.
needed explicitly because __slots__() defined.
 
 
 
      
        
          | def bson.objectid.ObjectId.__hash__ | ( |  | self | ) |  | 
      
 
Get a hash value for this :class:`ObjectId`.
.. versionadded:: 1.1
 
 
 
      
        
          | def bson.objectid.ObjectId.__setstate__ | ( |  | self, | 
        
          |  |  |  | value | 
        
          |  | ) |  |  | 
      
 
explicit state set from pickling
 
 
 
      
        
          | def bson.objectid.ObjectId.binary | ( |  | self | ) |  | 
      
 
12-byte binary representation of this ObjectId.
 
 
 
      
        
          | def bson.objectid.ObjectId.from_datetime | ( |  | cls, | 
        
          |  |  |  | generation_time | 
        
          |  | ) |  |  | 
      
 
Create a dummy ObjectId instance with a specific generation time.
This method is useful for doing range queries on a field
containing :class:`ObjectId` instances.
.. warning::
   It is not safe to insert a document containing an ObjectId
   generated using this method. This method deliberately
   eliminates the uniqueness guarantee that ObjectIds
   generally provide. ObjectIds generated with this method
   should be used exclusively in queries.
`generation_time` will be converted to UTC. Naive datetime
instances will be treated as though they already contain UTC.
An example using this helper to get documents where ``"_id"``
was generated before January 1, 2010 would be:
>>> gen_time = datetime.datetime(2010, 1, 1)
>>> dummy_id = ObjectId.from_datetime(gen_time)
>>> result = collection.find({"_id": {"$lt": dummy_id}})
:Parameters:
  - `generation_time`: :class:`~datetime.datetime` to be used
    as the generation time for the resulting ObjectId.
.. versionchanged:: 1.8
   Properly handle timezone aware values for
   `generation_time`.
.. versionadded:: 1.6
 
 
 
      
        
          | def bson.objectid.ObjectId.generation_time | ( |  | self | ) |  | 
      
 
A :class:`datetime.datetime` instance representing the time of
generation for this :class:`ObjectId`.
The :class:`datetime.datetime` is timezone aware, and
represents the generation time in UTC. It is precise to the
second.
.. versionchanged:: 1.8
   Now return an aware datetime instead of a naive one.
.. versionadded:: 1.2
 
 
 
      
        
          | def bson.objectid.ObjectId.is_valid | ( |  | cls, | 
        
          |  |  |  | oid | 
        
          |  | ) |  |  | 
      
 
Checks if a `oid` string is valid or not.
:Parameters:
  - `oid`: the object id to validate
.. versionadded:: 2.3
 
 
 
The documentation for this class was generated from the following file: