sql >> Database >  >> NoSQL >> MongoDB

mangoest Datum vergelijken zonder tijd en groeperen op meerdere eigenschappen?

U kunt proberen de gegeven category te matchen en createdAt -datum met $match , groepeer en gebruik ten slotte $addToSet om alle unieke staffId . te krijgen s:

db.collection.aggregate([
  {
    $match: {
      "category": "trend",
      "createdAt": {$gte: new Date("2020-08-13T00:00:00Z"), $lt: ISODate("2020-08-14T00:00:00Z")}
    }
  },
  {
    "$group": {
      "_id": null,
      "staffIds": {
        "$addToSet": "$staffId"
      }
    }
  }
]);

Hier is een voorbeeld op mongoplayground (moest strings en regex gebruiken voor de datum omdat ISODate daar niet wordt ondersteund):https://mongoplayground.net/p/oGM7cfvCRQx




  1. MongoDB ReplicaSet - PRIMARY-rol valt op SECUNDAIRE wanneer alleen PRIMARY over is

  2. App werkt in ontwikkeling, maar niet wanneer ingezet op heroku

  3. MongoDB filtert meerdere subdocumenten

  4. Kan ik eenvoudig alle velden van een subdocument retourneren als velden in het document op het hoogste niveau met behulp van het aggregatieraamwerk?