2012-04-15 13 views
0

我使用pymongoMongoDB的更新基于Python函数的所有键的值

我有一个蒙戈DB中的所有文件都有一个 “时间戳”:“10月25日 - 2011”

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

我想在下面提到的这些字符串日期应用python函数并将它们转换为datetime对象。在mongodb中做这件事的最好方法是什么?

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

回答

0

满足您的需求:

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作为查询,以确保我更新我刚刚得到的文件。我这样做是因为我不确定时间戳冲突是否会导致不必要的后果。

+0

我还需要将更改保存在mongodb中 – zubinmehta 2012-04-15 11:12:33

相关问题