【发布时间】:2021-01-20 06:11:44
【问题描述】:
我正在使用 pymongo 对 Premier Leage 数据库执行一些查询。
但是,我在处理Date 字段时遇到了一些麻烦,该字段采用dd/mm/yyyy 字符串格式,并且我找不到通过设置另一个字段来更新我的集合的方法,在该字段中该日期被转换为日期时间对象,可以订购。
db = client['PremierLeague']
col = db['2018-2019']
我试过了
col.update_many({},{"$set":{"DateTime":{datetime.strptime("$Date",'%d/%m/%Y')}}},upsert = True)
得到
ValueError: time data '$Date' does not match format '%d/%m/%Y'
我也试过
col.update_many({},{"$set":{"DateTime":{"$dateFromString":{ "date": "$Date", "format": '%d-%m-%Y'}} }},upsert = False)
获取WriteError
WriteError: The dollar ($) prefixed field '$dateFromString' in 'DateTime.$dateFromString' is not valid for storage., full error: {'index': 0, 'code': 52, 'errmsg': "The dollar ($) prefixed field '$dateFromString' in 'DateTime.$dateFromString' is not valid for storage."}
提前感谢您的关注。
【问题讨论】: