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

日付がmongodbの文字列形式の場合は、$ gteおよび&ltemongo演算子を使用します

    以下の集計をmongodb3.6で試すことができます

    $dateFromStringを使用できます dobを変換するための集計 文字列から日付まで、そして簡単に $count $matchを適用するドキュメント その上で。

    1) $addFieldsでの集計の使用

    db.panelists.aggregate([
      { "$addFields": {
        "date": {
          "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }
        } 
      }},
      { "$match": {
        "date": {
          "$gte": moment('08-02-1998').toDate(),
          "$lte": moment('08-02-2003').toDate()
        }
      }},
      { "$count": "count" }
    ])
    

    2) $exprでの単純な検索クエリの使用

    db.collection.find({
      "$expr": {
        "$and": [
          {
            "$gte": [
              { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
              ISODate("2000-02-22T00:00:00Z")
            ]
          },
          {
            "$lte": [
              { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
              ISODate("2000-02-24T00:00:00Z")
            ]
          }
        ]
      }
    })
    

    3) $exprでの集計の使用

    db.collection.aggregate([
      { "$match": {
        "$expr": {
          "$and": [
            {
              "$gte": [
                { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
                ISODate("2000-02-22T00:00:00Z")
              ]
            },
            {
              "$lte": [
                { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
                ISODate("2000-02-24T00:00:00Z")
              ]
            }
          ]
        }
      }}
    ])
    



    1. Mongoでの大文字と小文字を区別しない検索

    2. SparkでRedis:タスクをシリアル化できません

    3. Flask-不正なリクエストブラウザ(またはプロキシ)が、このサーバーが理解できないリクエストを送信しました

    4. $lookup後の集約フィルター