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

Jak uzyskać dokumenty oparte na filtrach dat (tydzień, miesiąc i niestandardowe daty) w MongoDB?

Możesz mieć coś takiego jak obserwowanie. Użyj operacji dopasowania, aby odfiltrować. W tym przykładzie pokazałem ci szczegóły z ostatniego tygodnia. Sprawdziłem wszystkie scenariusze, o których wspomniałeś powyżej. I działa dobrze

[{$match: {
  $expr:{
    $and:[
      {$gt:["$createdAt",new Date(new Date()-14*60*60*24*1000)]},
      {$lt:["$createdAt",new Date(new Date()-7*60*60*24*1000)]}
      ]
  }
}}, {$group: {
  _id: '$userId',
  totalSeen: {
    $sum: {
      $cond: [
        {
          $eq: [
            '$status',
            'seen'
          ]
        },
        1,
        0
      ]
    }
  },
  total: {
    $sum: 1
  }
}}, {$project: {
  _id: 0,
  userId: '$_id',
  notificationPercentage: {
    $multiply: [
      {
        $divide: [
          '$totalSeen',
          '$total'
        ]
      },
      100
    ]
  }
}}]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kolekcja Meteor.js jest pusta na kliencie

  2. Usuń element z tablicy mongodb odpowiadającej w mongoose

  3. Zautomatyzuj kontrolę stanu bazy danych

  4. czy możemy razem pisać zapytania mongodb crud i zapytania agregujące?

  5. Jak mogę wyeksportować atrybuty z tablicy obiektów do CSV?