2011-10-09 53 views
0

如果我想選擇符合兩個特定條件的文檔,如何格式化查詢?現在,我現在有這樣的:

$params = array('$all' => array(
       array('parent.id'=>'1'), 
       array('owner_id'=>'8') 
     )); 
$data = $collection->find($params); 

這個查詢使我回沒有結果...任何想法?

回答

0

OUH ..使用它:

$params = array('$all' => array(
       array('parent'=>array('id'=>'1')), 
       array('owner_id'=>8) 
     )); 
$data = $collection->find($params); 
+0

謝謝先生,非常感謝!這與以下不同:$ params = array('parent.id'=> 1,'owner_id'=> 8); –

+0

MongoDB是JSON數據庫。對於_objects_和db的子元素,使用select在對象中。 – TROODON

1

parent.id是整數嗎?

也許是:

$params = array('$all' => array(
       array('parent.id'=>1), 
       array('owner_id'=>8) 
     )); 
$data = $collection->find($params); 
+0

沒有,他們都是字符串。查詢find(array('parent.id'=> 1))和find(array('owner_id'=> 8))單獨工作正常,但我需要將它們合併,以便接收所有具有父ID的文檔的一個和一個老闆身份證8 –

+0

我在其他評論回答 – TROODON

+1

聖潔的廢話我是個白癡。正確的方法是:$ params = array('parent.id'=> 1,'owner_id'=> 8); –