MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mangusta Porównywanie daty bez czasu i grupowanie według wielu właściwości?

Możesz spróbować dopasować podaną category i createdAt -data przy użyciu $match , następnie pogrupuj i na koniec użyj $addToSet aby uzyskać wszystkie unikalne 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"
      }
    }
  }
]);

Oto przykład na mongoplayground (musiałem użyć ciągów i wyrażenia regularnego dla daty, ponieważ ISODate nie jest tam obsługiwany):https://mongoplayground.net/p/oGM7cfvCRQx




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wyświetl błąd w php

  2. MongoDB — Utwórz bazę danych

  3. MongoDb z FastAPI

  4. Mongoose upsert nie tworzy domyślnej właściwości schematu

  5. Jak przechowywać obraz byte[] w mongodb dla procesu Doocr?