2013-07-26 54 views
0

我堅持我的Python類到JSON並將它們寫入MongoDB。我正在使用已提交here的JSON編碼器。這導致了一個複雜的JSON結構,它並不遵循所有MongoDB教程中簡單的「string」鍵/值。這是寫入JSON類的摘錄:如何查詢MongoDB中的複雜結構?

{ 
    "_id" : ObjectId("51f2397c86a49a5e6dec4633"), 
    "__module__" : "experiment.experimentmanager", 
    "experiments" : { 
     "FOO" : [ 
      { 
       "__module__" : "experiment.experiment", 
       "enable_routing_table_trace" : false, 
       "__class__" : "Experiment", 
       "scenario_name" : "foobar", 
       "enable_network_visualize" : false 
      },  
} 

我想知道我怎麼可以檢查,例如,如果有一個關鍵的「FOO」使用MongoDBs找到實驗?提前致謝!

回答

2

檢查字段是否存在use$exists operator

要訪問複雜結構,請使用點符號。例如:

db.inventory.find({ "experiments.FOO": { $exists: true} }) 
0

這個查詢應該工作:

db.collection.find({ 
    "experiments.FOO": { 
     $exists:true 
    } 
});