我对蒙戈非常陌生,我有一个简单的问题。如何使用MapReduce和非遗留的MongoDB驱动程序http://php.net/manual/en/set.mongodb.php或在https://packagist.org/packages/mongodb/mongodb中找到的更高级别的包mongodb/mongodb
我的代码看起来像是:
$function = "function() { emit(this); }";
$map = new \MongoCode($function);
$command = $db->command([
"mapreduce" => "db.archiveData",
"map" => $map,
"query" => $query,
"out" => "data"
]);
那是因为:
我遗漏了什么?
发布于 2017-10-06 21:02:38
所以我现在清楚了事情的发展方向。
这里也有这样的例子:
$database = (new MongoDB\Client)->selectDatabase('db_name');
$cursor = $database->command([
'mapReduce' => 'collection_name',
'map' => new MongoDB\BSON\Javascript('...'),
'reduce' => new MongoDB\BSON\Javascript('...'),
'out' => 'output_collection_name',
]);
$resultDocument = $cursor->toArray()[0];
您也可以通过Doctrine (http://docs.doctrine-project.org/projects/doctrine-mongodb-odm/en/latest/reference/map-reduce.html)使用MapReduce,但这是使用遗留和垫片。因此,对于一个新项目来说,可能不是一个好的选择。
https://stackoverflow.com/questions/46475990
复制相似问题