mongodb - 関数 - php 配列 group by



複数の$ condでクエリをグループ化する方法 (1)

私は以下のように問い合わせたいが、これには1つの$condしか含まれていない。

2つの$condを使用してクエリを実行する方法

collection.aggregate(
    { 
        $match : { 
            '_id' : {$in:ids}
        } 
    },
    {
        $group: {
            _id: '$someField',
            ...
            count: {$sum: { $cond: [ { $eq: [ "$otherField", false] } , 1, 0 ] }}
        }
    },
    function(err, result){
        ...
    }
);

あなたは{$cond:[]}中で複合式を使いたいと思っています:

collection.aggregate(
    { 
        $match : { 
            '_id' : {$in:ids}
        } 
    },
    {
        $group: {
            _id: '$someField',
            ...
            count: {$sum: { $cond: [ {$and : [ { $eq: [ "$otherField", false] },
                                               { $eq: [ "$anotherField","value"] }
                                     ] },
                                     1,
                                     0 ] }}
        }
    },
    function(err, result){
        ...
    }
);

$and演算子は、ここにhttp://docs.mongodb.org/manual/reference/operator/aggregation/#boolean-operatorsます: http://docs.mongodb.org/manual/reference/operator/aggregation/#boolean-operators : http://docs.mongodb.org/manual/reference/operator/aggregation/#boolean-operators





aggregation-framework