mycollection.find_one_and_update({"_id": mongo_id},
{"$set": {"newfield": "abc"}})
должно работать великолепно для вас.Если нет документа с идентификатором mongo_id
, он потерпит неудачу, если только вы не используете upsert=True
.Это возвращает старый документ по умолчанию.Чтобы получить новый, передайте return_document=ReturnDocument.AFTER
.Все параметры описаны в API .
Метод был введен для MongoDB 3.0.Он был продлен на 3,2, 3,4 и 3,6.