当使用pymongo运行多条更新语句时,MongoDB有时不会更新。

问题描述 投票:0回答:1

我有一个脚本,其中包含多个函数,有一个更新语句。如下图所示,每个函数都在执行不同的任务,即更新我的Product2集合的具体细节。每个函数都在执行不同的任务,即更新我的Product2集合的具体细节。所有这些都发生在一个python脚本中。我的问题是,当我运行我的脚本时,有时它不能正常更新。只有当我再次运行脚本时,我才能看到所有的东西都被更新了。这是我更新的正确方式还是我遗漏了什么?请帮助我。我使用的是MongoDB 4.2.0。

def stat1()
    db.Products2.update({updatesomething},upsert=False)

def stat2()
    db.Products2.update({updatesomething},upsert=False)

def stat3()
    db.Products2.update({updatesomething},upsert=False)

if __name__ == "__main__":
    stat1()
    stat2()
    stat3()
mongodb python-2.7 pymongo
1个回答
0
投票

update() 已经有一段时间不适用了。在任何情况下,你的用法都是不正确的;更新操作符的用法是 replace_one() update_one() update_many() 需要知道要更新的内容,而这是通过使用 filter 参数;类似。

db.Products2.update_one(filter={filter}, update={updatesomething}, upsert=False)
© www.soinside.com 2019 - 2024. All rights reserved.