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

MongoDBは明確な値をカウントしますか?

    .distinct() フィールドの個別の値を取得するだけでうまく機能します。実際に発生数を取得するには、これは集計フレームワークに適しています。

    Collection.aggregate([
        { "$group": {
            "_id": "$field",
            "count": { "$sum": 1 }
        }}
    ],function(err,result) {
    
    });
    

    また、.distinct() メソッドは、指定された「distinct」フィールドが実際に配列内にある場所から「abstract」を実行します。この場合、 $unwindを呼び出す必要があります ここで最初に配列要素を処理します:

    Collection.aggregate([
        { "$unwind": "$array" },
        { "$group": {
            "_id": "$array.field",
            "count": { "$sum": 1 }
        }}
    ],function(err,result) {
    
    });
    

    したがって、主な作業は基本的に $groupで行われます。 フィールド値を「グループ化」することで、「個別」と同じ意味になります。 $sum はグループ化演算子であり、この場合は1を合計するだけです。 そのコレクションのフィールドにその値が出現するたびに。



    1. Debian9へのMemcachedのインストール

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

    3. Node.jsKue失敗したジョブを再開する方法

    4. オブジェクトの配列をRedisに保存する方法は?