首页 > 解决方案 > 我正在尝试更新数据,但它没有在数据库中更新

问题描述

我是 python 和 Mongo db 的新手。我想要做的是我想更新我的数据库中的数据并且代码似乎工作正常。但是,数据库中的数据仍然没有更新。

我已经尝试过 update 和 update_one 等功能。但到目前为止仍然没有运气。

@app.route("/users/update_remedy", methods = ['POST'])
def update_remedy():
    try:
        remedy = mongo.db.Home_Remedies
        name = request.get_json()['name']
        desc = request.get_json()['desc']
        print("S")
        status = remedy.update_one({"name" : name}, {"$set": {"desc" : desc}})
        print("h")
        return jsonify({"result" : "Remedy Updated Successfully"})
    except Exception:
        return 'error'

标签: pythonmongodb

解决方案


您的update_one呼叫可能正在查找不存在的文档。如果对 vanilla 更新的查询未返回任何文档,则不会执行更新操作。确保具有该字段的文档{"name" : name} 确实存在。您还可以检查 的返回值update_one以确保发生更新。有关详细信息,请参阅更新结果


推荐阅读