Search code examples
mongodbpython-3.xpymongoisodate

Create an ISODate with pyMongo


I've been trying to find a way to create an ISODate object whith pyMongo client, but without any success so far.

I use http://pypi.python.org/pypi/pymongo3 client, which is the only serious one available in Python 3 for now, but the problem doesn't seem to come from this specific pymongo version.

I'd like to know if any of you has found a solution to use this MongoDB object type from a pymongo client... thanks for your help !


Solution

  • You just need to store an instance of datetime.datetime.

    Inserting from the python shell:

    >>> c.test.test.insert({'date': datetime.datetime.utcnow()})
    ObjectId('4e8b388367d5bd2de0000000')
    >>> c.test.test.find_one()
    {u'date': datetime.datetime(2011, 10, 4, 16, 46, 59, 786000), u'_id': ObjectId('4e8b388367d5bd2de0000000')}
    

    Querying in the mongo shell:

    > db.test.findOne()
    {
        "_id" : ObjectId("4e8b388367d5bd2de0000000"),
        "date" : ISODate("2011-10-04T16:46:59.786Z")
    }