sql >> データベース >  >> NoSQL >> MongoDB

phpでmongodbmap/reduceを使用する

    これは、 $ 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";
    }
    
    ?>
    

    例を示すために、コードはここからコピーされます: http://php.net/manual /en/mongodb.command.php




    1. symfony2で「like」という条件でmongodbをクエリする方法

    2. IAsyncCursorは、mongodb c#ドライバーでの反復にどのように使用されますか?

    3. redisでのAOFおよびRDBバックアップ

    4. MongoDBバージョン2.6は、ジオキーを抽出できないことと、不正な形状の可能性があることを理由に、2dsphereジオインデックスで失敗します。