1
我有幾個mongo數據庫(一些填充了集合和文檔,有些是空的),我試圖通過它們解析併爲內容創建一個圖表。我正在計劃爲每個數據庫,每個集合以及集合中的每個關鍵點創建節點,並且將每個關鍵點都設置爲該值(以便跳過頁面)。這是我獲取圖形的代碼。PyMongo,圖表
for db in dbs:
G.add_node(db)
for col in c[db].collection_names():
G.add_node(col)
G.add_edge(db, col, weight = 0.9)
for page in c[db][col].find():
if (u'_id' in page.viewvalues()):
pprint.pprint(page)
G.add_node(page[u'_id'])
G.add_edge(col, page[u'_id'], weight = 0.4)
for key, value in page.items():
G.add_node(key)
G.add_edge(col, key, weight = 0.1)
G.add_node(value)
G.add_edge(key,value)
我的問題是,我從來沒有過的if語句if (u'_id' in page.viewvalues()):
我知道我得到的網頁(如果我的if語句我得到印刷幾千之前打印的頁面,但if語句始終是假的。你有什麼?我在訪問從find()
查詢返回感謝字典做錯
編輯:
我應該還提到,當我做這樣的事情
for i in page:
而不是if語句,它的工作原理,然後打破說TypeError: unhashable type: 'dict'
,我想這是當它打到空白頁面或當find()
返回沒有頁面。
當你有一個沒有數據的集合時,這是否正常工作? – 2013-05-01 04:48:43
然後,找到將不會返回。 – alecxe 2013-05-01 04:49:27
你如何檢查? (這是拋出錯誤,說不是我在編輯中提到的字典類型) – 2013-05-01 04:51:19