2013-07-15 66 views
1

所以請溫柔Mongodb python語法獲取數組值。

有一個蒙戈DOC這樣的:

{ "Institute" : "Ucambridge", 

    "Project" : [ #array of projects 
       {"Sample":[ #array of samples 
         { "workflow" : "abc", "owner" : "peter" } 
       ] 
       "pname":"project1", 
       "dir" : "C drive" 
       } 

       ] 
} 

據我所知,在蒙戈有嵌套的循環是不是一個好主意,但是這是數據正在傳遞的方式對我來說。

嘗試遍歷我的所有項目並在我的python服務器上提取項目名稱。

因此獲得光標:

U = mongo.db.testpymongo.find()

可以得到由研究所:

for x in u : 
    print x["Project"] 

for x in u : 
print x["Institute"] 

可以得到項目

返回:

[{u'Sample':[{u'workflow:':u'wf', u'owner':u'peter'} ] u'pname':u'project1 ', u'dir:u'C drive'}]

但是,我如何才能從光標訪問我的pname變量?

我曾嘗試:

1.print x["Project:pname"] # does not work 

2.print x["Project":"pname"] # gives unhashable type error 

3.print x["pname"] # gives Key error 

4.print x["Project"].["pname"] # gives syntax error 

5.print x["Project.pname"] # gives key error 

我應該在發現()函數中使用屬性的文件只返回一部分?

即:像這樣?

d = mongo.db.testpymongo.find({ 「院」: 「UCambridge」, 「Project.pname」: 「項目1」})

謝謝!

回答