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

FieldPathフィールド名に「。」を含めることはできません。 $groupで

    グループフィールドが1つしかないため、_idを使用するのが最善の方法です。 そのフィールドのグループキーを押してから、別の $projectを作成します _idを再形成するパイプライン 前のパイプラインから必要なサブドキュメントへのキー。例

    db.analytics.aggregate([
        {
            "$match": {
                "eventArgs.type": 'touchstart', 
                "eventType": 'mousedown', 
                "creationDateTime": { "$gte": ISODate("2017-02-24T000:00:00.000Z") } 
            }
        },
        {
            "$group": {
                "_id": "$eventArgs.elementId",
                "count": { "$sum": 1 }
            }
        },
        {
            "$project": {
                "eventsArgs.elementId": "$_id",
                "count": 1, "_id": 0
            }
        }
    ]);
    

    以下も同様に機能するはずです:

    db.analytics.aggregate([
        {
            "$match": {
                "eventArgs.type": 'touchstart', 
                "eventType": 'mousedown', 
                "creationDateTime": { "$gte": ISODate("2017-02-24T000:00:00.000Z") } 
            }
        },
        {
            "$group": {
                "_id": {
                   "eventArgs": {
                       "elementId": "$eventArgs.elementId"
                   }
                },
                "count": { "$sum": 1 }
            }
        }
    ]);
    



    1. 文字列から日付データ型に変換する方法は?

    2. Redisスキャンスキップキー

    3. 1つのURLでマラソン(mesos)でredisを実行します

    4. アプリケーションキャッシュv.s.休止状態の第2レベルのキャッシュ、どちらを使用しますか?