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

MongoDBで日付フィルター(週、月、カスタムの日付)に基づいてドキュメントを取得するにはどうすればよいですか?

    次のようなものがあるかもしれません。一致操作を使用してフィルターで除外します。この例では、last_weekの詳細を示しました。上記のすべてのシナリオを確認しました。そして、その正常に動作しています

    [{$match: {
      $expr:{
        $and:[
          {$gt:["$createdAt",new Date(new Date()-14*60*60*24*1000)]},
          {$lt:["$createdAt",new Date(new Date()-7*60*60*24*1000)]}
          ]
      }
    }}, {$group: {
      _id: '$userId',
      totalSeen: {
        $sum: {
          $cond: [
            {
              $eq: [
                '$status',
                'seen'
              ]
            },
            1,
            0
          ]
        }
      },
      total: {
        $sum: 1
      }
    }}, {$project: {
      _id: 0,
      userId: '$_id',
      notificationPercentage: {
        $multiply: [
          {
            $divide: [
              '$totalSeen',
              '$total'
            ]
          },
          100
        ]
      }
    }}]
    



    1. Chefを使用したMongoDBデータベース自動化の基本

    2. Ubuntu14.04でshrobomongo.shを使用してrobomongo.shを実行できません

    3. すべてのクラスターでソケットセッションにアクセスする方法

    4. DataTableをRedisとの間でシリアル化/逆シリアル化するための最も時間効率の良い方法は何ですか?