MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menghitung persentase menggunakan segi di MongoDB?

Boleh dicoba,

  • $group oleh userId dan dapatkan totalSeen hitung menggunakan $cond jika status apakah seen , dapatkan jumlah total notifikasi menggunakan $sum ,
  • $project untuk menampilkan bidang yang wajib diisi, dan menghitung persentase menggunakan $divide dan $multiply
db.collection.aggregate([
  {
    $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]
      }
    }
  }
])

Taman bermain




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Menginstal MongoDB di Raspberry Pi

  2. Apakah ada perpustakaan seperti orm untuk mongodb di scala?

  3. Bagaimana cara menerapkan tag posting di Mongo?

  4. Cara mencadangkan dan memulihkan basis data Mongodb

  5. Argumen ketiga saat membuat model di MongooseJS