File tree Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Expand file tree Collapse file tree 1 file changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -207,8 +207,17 @@ def update_document(
207207 except Exception :
208208 pass
209209 before_doc = collection .find_one ({"_id" : ObjectId (document_id )})
210- # Use replace_one instead of update_one to completely replace the document
211- # This ensures deleted fields are actually removed
210+ if not before_doc :
211+ return None
212+
213+ # Preserve datetime_creation from the existing document
214+ if "datetime_creation" in before_doc :
215+ content ["datetime_creation" ] = before_doc ["datetime_creation" ]
216+
217+ # Always update datetime_last_modified to current time
218+ content ["datetime_last_modified" ] = datetime .now (timezone .utc )
219+
220+ # Use replace_one to completely replace the document while preserving system fields
212221 result = collection .replace_one ({"_id" : ObjectId (document_id )}, content )
213222 if result .matched_count == 0 :
214223 return None
You can’t perform that action at this time.
0 commit comments