sql >> Databasteknik >  >> NoSQL >> MongoDB

mongoose Datum jämföra utan tid och Gruppera efter flera egenskaper?

Du kan försöka matcha den givna category och createdAt -datum med $match , gruppera sedan och använd slutligen $addToSet för att få alla unika staffId 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"
      }
    }
  }
]);

Här är ett exempel på mongoplayground (var tvungen att använda strängar och regex för datumet eftersom ISODate inte stöds där):https://mongoplayground.net/p/oGM7cfvCRQx




  1. anslut ECONNREFUSED 127.0.0.1:27017'

  2. MongoDB avbryter när mongod-kommandot körs på terminalen

  3. Hur man får värdena från min MongoDB-fråga en const

  4. mongodb-aggregation med $project för att villkorligt utesluta ett fält