gpt4 book ai didi

python - 如何使用 pymongo 更新集合中的所有文档

转载 作者:行者123 更新时间:2023-11-28 18:20:24 26 4
gpt4 key购买 nike

我正在使用 pymongo(带有 mlab 的 python 3.6),我想更新我收藏中的所有文档。在我的文档中,我存储的数据是这样的:

{
"_id": {
"$oid": "5981a77e1d41c81419b60414"
},
"Ticker": "GOOGL",
"Sector": "USTECH",
"Market": "NASDAQ",
"Data": [
{
"Date": "Jul 27, 2017",
"Price": "966.41",
"Open": "969.52",
"High": "969.52",
"Low": "963.50",
"Vol": "743.92K",
"Change%": "0.11"
},
{
"Date": "Jul 26, 2017",
"Price": "965.31",
"Open": "972.78",
"High": "973.95",
"Low": "960.23",
"Vol": "2.22M",
"Change%": "-0.38"
}]}

我想更新所有日期,使它们看起来像这样:1997-1-6 而不是 1997 年 1 月 6 日。我有这段代码:

connection = MongoClient(link)
dbase = connection[db_name]
collection = dbase.historicals
client = collection.find()
if client:
collection.update({}, "$set" : {"Data.Date":datetime.strptime('Date', '%b %d, %Y').date()})

connection.close()

我已经尝试过 update_many,但似乎整个更新语法都不正确,就像它无法访问 Date 字段一样。有什么建议吗?

编辑:当我尝试这段代码时:

client = collection.update_many({}, {"$set": {"Data": {"Date": '2000'}}})

可以,但是这个不行 client = collection.update_many({}, {"$set": {"Data": {"Date": datetime.strptime("Date", '%b %d, %Y').date() }}})

最佳答案

尝试从您的更新查询中删除该“数据”并在“$set”前后添加 {}

collection.update({}, {"$set" : {"Date":datetime.strptime('Date', '%b %d, %Y').date()}})

关于python - 如何使用 pymongo 更新集合中的所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45459172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com