MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongoose Сравняване на дати без време и групиране по множество свойства?

Можете да опитате да намерите съответствие с дадената category и createdAt -дата с помощта на $match , след това групирайте и накрая използвайте $addToSet за да получите всички уникални 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"
      }
    }
  }
]);

Ето един пример за mongoplayground (трябваше да използвам низове и регулярен израз за датата, тъй като ISODate не се поддържа там):https://mongoplayground.net/p/oGM7cfvCRQx




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Намерете документ с масив, който съдържа конкретна стойност

  2. Как MongoEngine обработва индексите (създаване, актуализиране, премахване)?

  3. MongoError:не успя да се свърже със сървъра [localhost:27017] при първото свързване

  4. Как да възстановим изтрита база данни MongoDB?

  5. Как да изтриете документи, върнати от заявка за агрегиране в mongodb