1

我正在使用 pymongo

我有一个 mongo 数据库,其中所有文档都有一个“时间戳”:“25-OCT-2011”

所以一个字符串存储在timestamp所有文档的键中。

我想在这些字符串日期上应用下面提到的 python 函数并将它们转换为 datetime 对象。在 mongodb 中执行此操作的最佳方法是什么?

import datetime
def make_date(str_date):  
    return datetime.datetime.strptime(str_date, "%d-%b-%Y")
4

1 回答 1

1

为了满足您的需求:

import bson    

for document in list(database.collection.find({ })):
   converted_date = make_date(document['timestamp'])
   database.collection.update(
         { "_id": bson.objectid.ObjectId(document['_id']) },
         { "converted": converted_date }
   )

我使用 ObjectId 作为查询,以确保我更新了刚刚获得的文档。我这样做是因为我不确定时间戳冲突是否会导致不良后果。

于 2012-04-15T11:08:35.327 回答