2015-07-01 171 views
1

我使用ichikaway mongodb插件cakephp。 cakephp版本是2.5.1
ichikaway mongodb shell版本2.6.8。沒有結果MongoDB查詢

我用下面這個簡單的找到第一碼:

$conditions['$and'] = array(
    array('User.username' => $this->Cookie->read('username')), 
    array('User.status' => 'active'), 
    array('User.password' => 
     AuthComponent :: password($this->Cookie->read('password')) 
    ) 
); 

$adminData=$this->User->find('first',array('conditions'=> $conditions)); 

但它返回Null

我在同事的電腦上運行的同樣的代碼。我調試了代碼,並得到了我在Mongo Shell和RoboMongo中運行並顯示結果的查詢。

$this->User->read() 

也不能正常工作。

在日誌中生成的查詢如下。

查詢:db.companies.find({「status」:{「$ in」:[「active」,「create」]}},[「id」,「company_name」]).sort( []).limit(0).skip(0).hint([]) 時間:0

查詢:db.companies.find({ 「_id」:的ObjectId( 「557be027c01afed1068b4567」)},[] )的.sort([]).limit(1).skip(0).hint([]) 時間:0

上面Robomongo和蒙戈終端查詢返回一個結果。
但在cakephp這個查詢不返回結果。

+0

工作什麼是執行的查詢,什麼是查詢的結果時蒙戈的控制檯直接跑了?在你的條件下你有這麼多陣列的方式是不正常的,它們都是不必要的。目前還不清楚你和你的同事是否在談論同一個數據庫;你的代碼在做什麼,而且問題還不清楚。 – AD7six

回答

0

只是嘗試這個代碼,這對我來說

$conditions = array(
    '$and' => array(
     array('User.username' => $this->Cookie->read('username')), 
     array('User.status' => 'active'), 
     array('User.password' => AuthComponent :: password($this->Cookie->read('password'))) 
    ) 
);