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

如何在PyMongo中仅提取并打印文档的name字段值

解决方法

你的代码当前返回包含_id和name的字典,是因为MongoDB默认会返回_id字段,除非你明确指定排除它。要仅打印Charmander,可以用以下两种方式:

方式一:修改投影规则,只返回name字段

在find_one的第二个参数(投影参数)中,明确指定包含name并排除_id,之后提取字段值:

pokemon_python = client.pokemon_python
gonestarter = pokemon_python.gonestarter

# 投影参数:保留name,排除_id
char_doc = gonestarter.find_one({"stats":{"$elemMatch":{"health": 10}}}, {"name": 1, "_id": 0})
char_name = char_doc["name"]
print(char_name)

方式二:直接从返回的字典中提取name值

即使结果包含_id,也可以直接通过字典键名获取name对应的值:

pokemon_python = client.pokemon_python
gonestarter = pokemon_python.gonestarter

char_doc = gonestarter.find_one({"stats":{"$elemMatch":{"health": 10}}}, {"name"})
char_name = char_doc["name"]
print(char_name)

两种方式最终都会输出:Charmander

内容的提问来源于stack exchange,提问作者Kawalpreet Singh_ 52

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:36:06