You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取PyMongo中UpdateOne操作的属性信息?

从PyMongo UpdateOne操作列表中提取信息

我手里有一个已经准备好的PyMongo UpdateOne操作列表,示例如下:

print(type(to_load[0]))
> <class 'pymongo.operations.UpdateOne'>

print(to_load[0])
> UpdateOne({'id': XXX}, {'$set': {'name': 'YYY'}}, True, None, None, None)

我想从中提取信息,比如获取所有受影响的'id'值列表[XXX, ...],尝试了下面的写法但无效,请问有没有可行的方法?

for record in to_load:
  print(record['filter'])

UpdateOne对象不是字典,不能用下标['filter']访问属性,得用属性访问符直接调用对应的属性:

  • 获取过滤条件(即你要的{'id': XXX}):使用record.filter
  • 获取更新操作内容:使用record.update
  • 获取upsert设置:使用record.upsert

要提取所有'id'值,可使用如下代码:

id_list = [record.filter['id'] for record in to_load]

如果不确定对象的属性名,可通过dir()函数查看该对象的所有可用属性和方法:

print(dir(to_load[0]))

执行后就能看到filter、update等属性名称。


内容的提问来源于stack exchange,提问作者OJT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 05:45:38