2016-12-10 2 views
2

им пытаются использовать оператор $ и MongoDB применяется к Phalcon \ Mvc \ Collection следующим образом:

$documents = Staff::find($condition); 

с массивом $ условием, имеющего "роль", как это:

$condition["role"] = [ 
      "\$regex" => "$somevalue", 
      "\$and"=> [ 
       '$ne' => "admin" 
       ]  
      ]; 

и я получаю эту ошибку

Невозможно выполнить канонизацию запроса: Плохое значение: неизвестный оператор: $ и '

Пожалуйста, помогите мне решить эту проблему.
Есть ли еще один способ устранить эту проблему? Роль "?

ответ

3

$and is implicty используется в монго по умолчанию. Просто "$ne" => "admin" должно быть достаточно, я думаю.

MongoDB предоставляет неявную операцию AND при задании запятой разделенного списка выражений. Использование явного И с оператором $ и необходимо, когда одно и то же поле или оператор должно быть , указанное в нескольких выражениях.

Смежные вопросы