如何查看pymongo发送至MongoDB的完整查询语句?
导出PyMongo聚合查询的完整可运行格式
直接转成标准JSON字符串
你的sent_query本身就是MongoDB能识别的聚合管道数组,用Python自带的json模块就能转成可复制的格式化字符串:import json # 生成带缩进的JSON,方便阅读和复制 full_query = json.dumps(sent_query, indent=2, default=str) print(full_query)加
default=str是为了处理PyMongo里的特殊类型(比如ObjectId、日期),避免序列化报错,转成字符串后也能在其他MongoDB工具里手动调整使用。保留MongoDB原生类型的序列化
如果需要输出和MongoDB shell兼容的格式(比如把ObjectId转成{"$oid": "..."}),用bson库的工具类:from bson import json_util full_query = json_util.dumps(sent_query, indent=2) print(full_query)这个输出可以直接复制到MongoDB Compass、shell或其他工具里,套上
db.collection.aggregate()就能运行。验证方法
把输出的JSON内容复制到MongoDB shell,用下面的格式执行:db.your_collection_name.aggregate([ // 粘贴输出的JSON数组内容 ])
内容的提问来源于stack exchange,提问作者realPro
相关产品推荐
相关产品推荐

