如何用Python从MongoDB中提取嵌套的country.name字段值
提取MongoDB嵌套字段country.name的直接值
你当前代码输出的是country子文档(字典结构),要直接获取name字段的字符串值,只需修改循环内的打印语句,直接访问嵌套的name键即可:
修改后的完整代码
x = col.find({},{'_id': 0, 'country.name': 1}) for data in x: print(data['country']['name'])
说明
col.find()返回的每个data对象中,country是包含name键的字典,通过data['country']['name']可直接取出对应国家名称字符串,输出会变为你期望的纯文本格式:
India
Colombia
Iran (Islamic Republic of)
Germany
可选安全写法(避免KeyError)
如果存在部分文档缺失country或country.name字段的情况,可用get()方法做容错处理:
x = col.find({},{'_id': 0, 'country.name': 1}) for data in x: print(data.get('country', {}).get('name', '未知国家'))
内容的提问来源于stack exchange,提问作者error404
相关产品推荐
相关产品推荐

