我正在使用带有两个分片群集配置的MongoDB 2.6。 我想调用我在MongoDB中创建和存储的函数dataStats()。这是我的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 command which is not supported with sharded collections。这个问题有解决方法吗?我们如何从PHP调用分片MongoDB中的存储过程?
答案 0 :(得分:1)
没有解决方法。 db.eval
不适用于分片集合。无论如何,你应该尽可能避免使用它。