Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb基于python函数更新所有键的值_Python_Datetime_Mongodb_Pymongo - Fatal编程技术网

mongodb基于python函数更新所有键的值

mongodb基于python函数更新所有键的值,python,datetime,mongodb,pymongo,Python,Datetime,Mongodb,Pymongo,我用的是pymongo 我有一个mongo db,其中所有文档都有 “时间戳”:“2011年10月25日” 因此,所有文档中的键timestamp中都存储了一个字符串 我想在这些字符串日期上应用下面提到的python函数,并将它们转换为datetime对象。在mongodb中最好的方法是什么 import datetime def make_date(str_date): return datetime.datetime.strptime(str_date, "%d-%b-%Y")

我用的是pymongo

我有一个mongo db,其中所有文档都有 “时间戳”:“2011年10月25日”

因此,所有文档中的键
timestamp
中都存储了一个字符串

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

import datetime
def make_date(str_date):  
    return datetime.datetime.strptime(str_date, "%d-%b-%Y")
为满足您的需要:

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

为了满足您的需要:

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

我需要保存mongodb中的更改,我也需要保存mongodb中的更改