Python 3.x Can';我想不出有多少关于mongoengine的更新

Python 3.x Can';我想不出有多少关于mongoengine的更新,python-3.x,mongodb,mongoengine,Python 3.x,Mongodb,Mongoengine,此代码返回一个我不理解的错误: TypeError:update()为参数“upsert”获取了多个值 看起来您已经在queryset中的所有对象中循环 query=analysis.objects(uid\uu type=“binData”) 然后对于满足以下条件的循环的每个迭代~ if len(analytics) == 100000: Analytic.objects.update(analytics, upsert=False) analytics = [] 启动另一个

此代码返回一个我不理解的错误:

TypeError:update()为参数“upsert”获取了多个值


看起来您已经在queryset中的所有对象中循环

query=analysis.objects(uid\uu type=“binData”)

然后对于满足以下条件的循环的每个迭代~

if len(analytics) == 100000:
    Analytic.objects.update(analytics, upsert=False)
    analytics = []
启动另一个查询并将分析设置为空数组。在这里,您将检索查询中的许多对象。因为你已经在一个循环中了 我想你想~

analytics_array= []


保存操作将更新已创建的对象。不确定这是否是您想要的,但错误肯定来自于“analysis.objects.update(analytics,upsert=False)一行。希望这有帮助!

看起来您已经在查询集中遍历了所有对象

query=analysis.objects(uid\uu type=“binData”)

然后对于满足以下条件的循环的每个迭代~

if len(analytics) == 100000:
    Analytic.objects.update(analytics, upsert=False)
    analytics = []
您启动另一个查询并将analytics设置为空数组。在这里,您将检索查询中的许多对象。因为您已经处于循环中 我想你想~

analytics_array= []


保存操作将更新已创建的对象。不确定这是否是您想要的,但错误肯定来自于“analysis.objects.update(analytics,upsert=False)行。希望这有帮助

同时更新多个文档,我可以使用文档中用户指南中的原子更新部分使其正常工作。

所以你的更新应该看起来有点像

Analytic.objects(query_params='value').update(set__param='value')


该部分有一个您可能希望查看的修改列表。您可能仍然希望在循环之外执行更新,因为您将多次更新查询。

同时更新多个文档,我可以使用文档中用户指南中的原子更新部分使其正常工作。

所以你的更新应该看起来有点像

Analytic.objects(query_params='value').update(set__param='value')


该部分有一个您可能希望查看的修改列表。您可能仍然希望在循环之外执行更新,因为您将多次更新查询。

您的代码在做什么?只是转换字段类型吗?是的,但我也希望能够做其他事情,因为对多个文档使用insert比单独保存每个文档更快,我想我可能只想在一个命令中更新多个文档。您的代码在做什么?只是转换字段类型吗?是的,但我想能够做其他事情,因为对多个文档使用insert比单独保存每个文档要快,我想我可能只想在一个命令中更新多个字段,在查询中迭代而不保存要快得多,但是我想知道我是否能够像“插入”一样进行批量更新,这样所有更新都可以在一个请求中发送到MongodBn不确定,但我认为您必须输入要更新的字段。我被医生弄糊涂了。您是否考虑过使用直接pymongo查询?在不保存的情况下迭代查询要快得多,但我想知道是否能够像“插入”一样进行批量更新,以便所有更新都在单个请求中发送到MongodBn不确定,但我认为您必须传入要更新的字段。我被医生弄糊涂了。您是否考虑过使用直接pymongo查询?在您的示例中,我只能用一个值更新所有文档,我试图用单个值更新许多文档,我开始认为这是不可能的。是的,我认为可能不可能在一个数据库调用中完成。在您的示例中,我只能用一个值更新所有文档,我试图用单个值更新许多文档,我开始认为这是不可能的。是的,我想可能不可能在一个数据库调用中完成。