2011-05-12 71 views
2

我想知道如何將所有文檔鍵入一個或多個嵌套密鑰存在的位置。因此,採取以下收集查找存在一個或多個嵌套密鑰的所有文檔

[ {_id = 「設置1」 ,NAME = 「setting1Name」 ,說明= 「這是描述」 ,值= {我們= 「好」 ,英國=「偉大「

   } 
     ,defaultvalues={ us ="good" 
         ,uk="great" 
         ,sp="bueno" 
        } 
     ,position = "1" 
     ,group="group1" 
    }, 
    {_id = "setting2" 
     ,name="setting2Name" 
     ,description="This is the description" 
     ,values = {  us ="good" 
        ,lu="great" 
       } 
     ,defaultvalues={ us ="good" 
         ,uk="great" 
         ,sp="bueno" 
        } 
     ,position = "2" 
     ,group="group2" 
    }] 

所以我想找到的文件,其中在價值觀的關鍵(圖)‘我們’,‘祿’。我知道如何做到這一點

query = mongo.collection(「settings」)。find({「values.us」= {「$ exists」=「true」}});

但是,如果存在「我們」或「lu」存在,那麼最好的方法是什麼?

謝謝

回答

0

嘗試使用'$或'運算符。我習慣於PHP的語法,但你會明白。

$where = array(
    '$or' => array(
     array('values.us' => array('$exists' => TRUE)), 
     array('values.lu' => array('$exists' => TRUE)) 
    ) 
); 

$query = $collection->find($where); 
相關問題