sql >> Databáze >  >> NoSQL >> MongoDB

mongoose Porovnání data bez času a Skupina podle více vlastností?

Můžete se pokusit porovnat danou category a createdAt -date pomocí $match , pak seskupte a nakonec použijte $addToSet získat všechna jedinečná 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"
      }
    }
  }
]);

Zde je příklad na mongoplayground (pro datum bylo nutné použít řetězce a regulární výraz, protože ISODate tam není podporováno):https://mongoplayground.net/p/oGM7cfvCRQx




  1. Proč je $in mnohem rychlejší než $all?

  2. Jak otestovat metodu, která se připojuje k mongo, aniž by se skutečně připojovala k mongo?

  3. (Jak) může agregace() zlomit index?

  4. MongoDB C# foreach BsonElement