python处理mongodb的document的key

最近公司有个任务,就是用python操作mongodb,主要内容是检查mongodb里面的document,查看里面的key是否缺少或者有错误,插入的数据主要都是一些任务和作业的配置信息,数据量差不多在千这个级别! 要用到的包都弄好了,pymongo,json,bson。
暂时的思路是,先把mongodb的document用find()查询出来,这一步返回的是dict类型的python数据,再核对里面的key。这样做的问题在于:mongodb的document是多级嵌套的数据(下面po出来),返回到python就会变成,字典里面嵌套列表,列表当中又有字典,里面的字典里又有列表,多级嵌套,这样就完全不懂如何去获取所有的key了?
背景:刚来公司的测试实习生,python是刚自学的,小白一个,求各位前辈指教!


mongodb的document:(新来的,不知道怎么贴代码,好乱…)

db.jobschedule.insert{ jobname:"ZengHui4MDDiscoverMSSQL2008", jobtype:"MDDiscover", username:"", createtime:"", schedule:"", pausetime:"", pauseschedule:"", wakeupschedule:"", stop:"", task:[{conf:{exectask:"whole", details:[{taskid:"",dbid:"zenghui4sqlserver2008",schemaname:"user4prod",tabname:"",depends:[]}]}, query:"mddiscover" }, {conf:{exectask:"whole", details:[{taskid:"",dbid:"zenghui4sqlserver2008",schemaname:"user4prod",tabname:"",depends:[]}]}, query:"relationshipdiscover" }] }

给你写了一个示例,代码,你试试看

#!/usr/bin/env python
#coding:utf8
# Author : tuxpy
# Email : q8886888@qq.com
# Last modified : 2015-01-31 16:55:01
# Filename : t1.py
# Description : import pymongo def get_all_keyobj: if isinstanceobj, dict: for key, value in obj.items: print key if isinstancevalue, list, dict: get_all_keyvalue if isinstanceobj, list: for item in obj: if isinstanceitem, dict, : get_all_keyitem db = pymongo.Connection.test
document = dictdb.test.find_one
del document[_id]
get_all_keydocument

发表评论

电子邮件地址不会被公开。 必填项已用*标注