Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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
Python 使用日期对象更新集合(百万+;)中的所有文档_Python_Mongodb_Pymongo - Fatal编程技术网

Python 使用日期对象更新集合(百万+;)中的所有文档

Python 使用日期对象更新集合(百万+;)中的所有文档,python,mongodb,pymongo,Python,Mongodb,Pymongo,我正在尝试更新集合中的所有文档。(约2000万份文件)。基本上,日期字符串存储为月/日/年,我想存储一个日期对象,以便以后可以根据它进行排序。我试过做: for document in collection.find({}, no_cursor_timeout=True): date = document['Date'] dateobj = datetime.strptime(date, "%m/%d/%Y") doc = col.find_one_and_update(

我正在尝试更新集合中的所有文档。(约2000万份文件)。基本上,日期字符串存储为月/日/年,我想存储一个日期对象,以便以后可以根据它进行排序。我试过做:

for document in collection.find({}, no_cursor_timeout=True):
date = document['Date']
dateobj = datetime.strptime(date, "%m/%d/%Y")
 doc = col.find_one_and_update(
     {"_id": document["_id"]},
     {"$set":
      {"DateObj_Sort": dateobj}
      }, upsert=False
 )
count = count + 1
print("Count is ", count)
但问题是,在180k左右的文档中,游标没有给我游标id

pymongo.errors.CursorNotFound: cursor id 361490694651426388 not found, full error: {'operationTime': Timestamp(1606772819, 18), 'ok': 0.0, 'errmsg': 'cursor id 361490694651426388 not found', 'code': 43, 'codeName': 'CursorNotFound', '$clusterTime': {'clusterTime': Timestamp(1606772819, 18), 'signature': {'hash': b'\xf7\xca*^\xea\xa8\xc3\xda\xa1\xa6\xf6\xec\x0cAQT\xa34T\x88', 'keyId': 6867170402951495684}}}

当集合中的文档太多时,如何更新集合中的所有文档?

将转换卸载到数据库服务器。 毕竟在Javascript中给出了与新日期类似的结果

新日期('04/01/2020');
试着用一个。我对mongo有点陌生,你能给我举个例子说明我的问题吗。我无法确定如何将函数应用于datetime.strTime(日期,“%m/%d/%Y”)等条目