MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mangouste Comparer la date sans heure et grouper par plusieurs propriétés ?

Vous pouvez essayer de faire correspondre la category donnée et createdAt -date en utilisant $match , puis groupez et enfin utilisez $addToSet pour obtenir tous les staffId uniques 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"
      }
    }
  }
]);

Voici un exemple sur mongoplayground (a dû utiliser des chaînes et des regex pour la date car ISODate n'y est pas pris en charge) :https ://mongoplayground.net/p/oGM7cfvCRQx