2012-04-15 58 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