知識蒐集與儲存 (MongoDB):查詢

知識查詢 (Category):

# -*- coding: utf-8 -*- import sys import codecs import uuid from pymongo import MongoClient class BDA0Q(): def __init__(self): pass def Query(self): data = [] try: dbConn = MongoClient() dbCursor = dbConn['Emprogria'] rowList = dbCursor.Category.find() for row in rowList: data.append((row['_id'], row['Title'])) except Exception,e: print e return data def GenerateJSON(self, data): if len(data) == 0: return None json = [] for (_id, title) in data: json.append('\t{"_id":"%s", "Title":"%s"}' % (_id, title)) return "[\n%s\n]" % (',\n'.join(json)) if __name__ == '__main__': jsonFile = None if len(sys.argv) > 1: jsonFile = sys.argv[1] main = BDA0Q() if jsonFile is None: print main.GenerateJSON(main.Query()) else: json = main.GenerateJSON(main.Query()) if json is not None: try: f = codecs.open(jsonFile, 'w', encoding='utf-8') f.write() f.close() except Exception, e: print e

知識查詢 (Subject):進階

# -*- coding: utf-8 -*- import sys import codecs import uuid from pymongo import MongoClient class BDA1Q(): idCategory = "fc30b4c8-558f-43d6-b9c1-95300c38559f" def __init__(self): pass def Query(self): data = [] try: dbConn = MongoClient() dbCursor = dbConn['Emprogria'] catTitle = '' categoryList = dbCursor.Category.find({'_id': self.idCategory}) if categoryList is not None: catTitle = categoryList[0]['Title'] rowList = dbCursor.Subject.find({'idCategory': self.idCategory}) for row in rowList: data.append((row['_id'], catTitle, row['Title'])) except Exception,e: print e return data def GenerateJSON(self, data): if len(data) == 0: return None json = [] for (_id, catTitle, title) in data: json.append('\t{"_id":"%s", "catTitle":"%s", "Title":"%s"}' % (_id, catTitle, title)) return "[\n%s\n]" % (',\n'.join(json)) if __name__ == '__main__': jsonFile = None if len(sys.argv) > 1: jsonFile = sys.argv[1] main = BDA1Q() if jsonFile is None: print main.GenerateJSON(main.Query()) else: json = main.GenerateJSON(main.Query()) if json is not None: try: f = codecs.open(jsonFile, 'w', encoding='utf-8') f.write() f.close() except Exception, e: print e