mongodb — вызов хранимой процедуры / функции с помощью PHP в сегментированном кластере БД Mongo.

Я использую MongoDB 2.6 с двумя конфигурациями кластеров шардов.
Я хочу вызвать функцию dataStats (), которую я создаю и храню в MongoDB. Это мой PHP-скрипт:

$client = new Mongo();
$db = $client->mydata;

$db->system->js->save(array("_id"=>"dataStats",
"value"=>new MongoCode("function() { ... }")));

$db->execute("dataStats()");

Этот код дает мне эту ошибку:

  'err' => 'Error: can\'t use sharded collection from db.eval',
'code' => 16722

Причина в том, что метод $ db-> execute использует Mongo Команда db.eval, которая не поддерживается с осколочными коллекциями.. Есть ли решение этой проблемы? Как мы можем вызвать хранимую процедуру в защищенном MongoDB из PHP?

0

Решение

Там нет обходного пути. db.eval не работает с осколочными коллекциями. Вы должны избегать его использования, если это вообще возможно.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]