sql >> Databasteknik >  >> NoSQL >> MongoDB

$fitler kapslad array med $lte $gte

Du kan använda $filter aggregering för att filtrera bort searches 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. Hur ansluter man PHP till MongoDB?

  2. php-redis - Finns det något sätt att lagra PHP-objekt i Redis utan att serialisera det?

  3. Hur aggregerar man kapslad uppslagsmatris i mongoose?

  4. Uppsättning i Mongo DB med officiell C#-drivrutin