我在使用cakephp的mongoDB中更新。
CakePHP代码
$adminData=$this->Admin->find('first',array('conditions'=>array(
'OR'=>array('Admin.username'=>$this->data['Admin']['username'],'Admin.email'=>$this->data['Admin']['username']),
'AND'=>array('Admin.password'=>AuthComponent::password($this->data['Admin']['password'])))));
它是等效的 mongoDB查询
db.admins.find( {"OR":{"username":"admin","email":"admin"},
"AND":{"password":"b3dfaf29547a69faaaaf63e1223bb4c479c80203"}},
[] ).sort( [] ).limit( 1 ).skip( 0 ).hint( [] )
我的问题是cakephp生成自动mongoDB查询但它无法正常工作。所以我的问题是:
我必须为它设置任何配置或安装任何插件或者我必须为此编写代码。如果需要更多信息,我会给出。
答案 0 :(得分:2)
似乎Cake PHP直接将查询转换为MongoDBs自己的查询文档,因此您的查询完全错误,您应该尝试:
$adminData = $this->Admin->find(
'first',
array('conditions' => array(
'$or' => array(
array('Admin.username' => $this->data['Admin']['username']),
array('Admin.email' => $this->data['Admin']['username'])
),
'Admin.password'=>AuthComponent::password($this->data['Admin']['password'])
))
);
类似的东西。