MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để lấy các tài liệu dựa trên Bộ lọc ngày (Tuần, Tháng và Ngày tùy chỉnh) trong MongoDB?

Bạn có thể có một số điều như sau. Sử dụng phép toán đối sánh để lọc ra. Trong ví dụ này, tôi đã chỉ cho bạn thông tin chi tiết về last_week. Tôi đã kiểm tra tất cả các tình huống mà bạn đã đề cập ở trên. Và nó hoạt động tốt

[{$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. Mongoid - giới hạn đối với truy vấn riêng biệt

  2. Chèn dữ liệu vào Meteor từ API Facebook

  3. Cái nào nên là singleton trong một ứng dụng? MongoClient hoặc MongoDatabase hoặc MongoCollection?

  4. Mongoid w / Rails, attr_accessible -> Không tìm thấy phương pháp nào

  5. Trên MongoDB, làm cách nào để giới hạn truy vấn, khi cuộc gọi lại của tôi ở bên trong tìm thấy?