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

Python提取MongoDB文档转JSON时如何去掉_id字段并解决输出为空问题

Python导出MongoDB数据为空问题修复方案

核心问题原因

你代码中的查询语句存在引用错误:提前定义了集合对象mycol = mydb["mappedfields"],但实际查询时写的是mydb.mycol.find(),这里的mydb.mycol是直接调用数据库下名为mycol的集合,而非你之前定义的指向mappedfields的变量,相当于一直在查一个不存在的空集合,自然返回空数组。

排查步骤

  • 验证库名、集合名是否正确:可在查询前加入计数代码验证数据存在性:
# 输出集合内文档总数,大于0说明数据存在
print(mycol.count_documents({}))
  • 确认输出目录mapping_files已存在,若不存在可提前创建,避免写入报错。
  • 检查MongoDB服务是否正常启动,连接地址、端口是否匹配。

修复后完整代码

import pymongo
from json import dumps

myclient = pymongo.MongoClient('mongodb://localhost:27017/')
mydb = myclient["guid"]
mycol = mydb["mappedfields"]

# 直接使用已定义的集合对象查询,替换之前的mydb.mycol.find
cursor = mycol.find({}, {'_id': False})
list_cur = list(cursor)
json_data = dumps(list_cur, indent=1)

with open('mapping_files/mapping_from_mongodb.json', 'w') as file:
    file.write(json_data)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 21:36:02