sql >> Databáze >  >> NoSQL >> MongoDB

Použití mongodb map/reduce v php

Můžete to udělat pomocí $db->command()

<?php

// sample event document
$events->insert(array("user_id" => $id, 
    "type" => $type, 
    "time" => new MongoDate(), 
    "desc" => $description));

// construct map and reduce functions
$map = new MongoCode("function() { emit(this.user_id,1); }");
$reduce = new MongoCode("function(k, vals) { ".
    "var sum = 0;".
    "for (var i in vals) {".
        "sum += vals[i];". 
    "}".
    "return sum; }");

$sales = $db->command(array(
    "mapreduce" => "events", 
    "map" => $map,
    "reduce" => $reduce,
    "query" => array("type" => "sale"),
    "out" => array("merge" => "eventCounts")));

$users = $db->selectCollection($sales['result'])->find();

foreach ($users as $user) {
    echo "{$user['_id']} had {$user['value']} sale(s).\n";
}

?>

Jen pro ukázku příkladu Kód je zkopírován odtud:http://php.net/manual /en/mongodb.command.php




  1. Vyjasnění ReactiveMongo FindAndModify

  2. Sailsjs. Nejlepší způsob, jak vytvořit (a spravovat) indexy na sails-mongo (mongodb)

  3. Ponechání otevřeného připojení k databázi MongoDB

  4. Porovnejte ID řetězce s BSON::ObjectId