From 1ca7a3f610b8f247730f5f67a5098cf6b5dc59f5 Mon Sep 17 00:00:00 2001 From: AnthonyDuan Date: Sat, 22 Nov 2025 22:33:50 +0800 Subject: [PATCH] =?UTF-8?q?fix(upload):=20DuplicateKey=20=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=20=20=E6=9B=B4=E6=96=B0=EF=BC=8C=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E8=A7=A6=E5=8F=91=20=5Fid=20=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E5=8F=98=E9=94=99=E8=AF=AF=20(code=2066)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app.py b/app.py index d8ae298..0b6203a 100644 --- a/app.py +++ b/app.py @@ -853,12 +853,12 @@ def upload_file(): db_entry['enabled'] = True pprint.pprint(db_entry) - # mongoDBにデータをぶち込む(重複IDは上書き) + # mongoDBにデータをぶち込む(重複IDは部分更新で上書きし、_id を不変に保つ) coll = client['taiko']["songs"] try: coll.insert_one(db_entry) except DuplicateKeyError: - coll.replace_one({"id": db_entry["id"]}, db_entry, upsert=True) + coll.update_one({"id": db_entry["id"]}, {"$set": db_entry}, upsert=True) # キャッシュ削除(/api/songs) try: app.cache.delete_memoized(route_api_songs)