2015-07-01 2 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 ({ "Статус": { "$ в": [ "активный", "создать"]}}, [ "ID", "company_name"]) .sort ([]) .limit (0) Пропустите (0) .hint ([]) Время: 0

Запрос: db.companies.find ({ "_id": ObjectId ("557be027c01afed1068b4567")}, []) .sort ([]) .limit (1) Пропустите (0) .hint ([]) Время: 0

выше запроса в Robomongo и MONGO терминал возвращает один результат.
Но в 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'))) 
    ) 
); 
Смежные вопросы