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

MongoDBでの年および月ごとの集計

    • リクエストパラメータを初期化する
    var year = req.year;
    var month = req.month;
    
    • デフォルトの年の条件を設定する
    var condition = [{
      $eq: [{ $substr: ["$$this.k", 0, 4] }, String(year)]
    }];
    
    • 月が利用可能かどうかを確認し、すべてではない場合は条件を追加します
    if (month && month != "all") {
      condition.push({
        $eq: [{ $substr: ["$$this.k", 5, 2] }, String(month)] 
      });
    }
    
    • $filter コードのループを繰り返し、準備された条件を超えてフィルタリングする
    db.collection.aggregate([
      {
        $set: {
          code: {
            $filter: {
              input: "$code",
              cond: { $and: condition }
            }
          }
        }
      }
    ])
    

    遊び場




    1. mongodumpの失敗'locale::facet ::_ S_create_c_locale name not valid'

    2. CouchDBとMongoDB:知っておくべき10のこと

    3. 距離でソートされたmongodbのLineStringの近くのポイントを検索します

    4. MongoDBを使用してアレイを更新します