sql >> Database teknologi >  >> NoSQL >> MongoDB

$fitler indlejret array ved hjælp af $lte $gte

Du kan bruge $filter aggregering for at filtrere searches fra array

db.collection.aggregate([
  { "$match": { "username": "admin" }},
  { "$project": {
    "total": { "$size": "$searches" },
    "lasthour": {
      "$size": {
        "$filter": {
          "input": "$searches",
          "as": "search",
          "cond": {
            "$and": [
              { "$gte": ["$$search", onehourago] },
              { "$lte": ["$$search", now] }
            ]
          }
        }
      }
    },
    "today": {
      "$size": {
        "$filter": {
          "input": "$searches",
          "as": "search",
          "cond": {
            "$and": [
              { "$gte": ["$$search", yesterday] },
              { "$lte": ["$$search", now] }
            ]
          }
        }
      }
    }
  }}
])



  1. omkostninger ved nøgler i JSON dokumentdatabase (mongodb, elasticsearch)

  2. MongoDB:Træk komplet Key:Array Pair

  3. Hvordan bruger man en variabel som et feltnavn i mongodb-native findAndModify?

  4. resque-scheduler mislykkes ved jobfjernelse