我一直在尝试使用 PHP 中的 mongo::command 来构建 MapReduce,但每次运行代码时都会出现以下错误:PHP Fatal Error, call to undefined method "mongo:command"
我的代码:
try {
$map = new MongoCode("function() {
if (!this.tags) {
return;
}
for (index in this.tags) {
emit(this.tags[index], 1);
}");
$reduce = new MongoCode("function(previous, current) {
var count = 0;
for (index in current) {
count += current[index];
}
return count;
}");
$tags = $this->db->command(array( //Line the error is found on
"mapreduce" => "blog",
"map" => $map,
"reduce" => $reduce));
$con=$this->db->selectCollection($tags['result'])->find();
var_dump($con);
}
catch(MongoCursorException $e) {
echo "error message: ".$e->getMessage()."\n";
echo "error code: ".$e->getCode()."\n";
}
请注意$this->db
指的是我的连接(之前定义的)并且blog
是集合。
作为参考,我使用过:http: //php.net/manual/en/mongodb.command.php
我使用的操作系统是 Ubuntu 12.04,我已经仔细检查了两个 php.ini 文件,它们都包含 mongo.so - 我可以使用 mongodb 进行正常查询,例如插入和获取数据,它只是命令似乎不起作用。