簡體   English   中英

如何計算mongodb中的記錄

[英]how to count records in mongodb

我是mongodb的新手。 我有一個簡單的電子郵件架構,實現如下:

const emailSchema = new Schema({
  from:{
    type: String
  },
  to: {
    type: String
  },
  subject: {
    type: String
  },
  content: {
    type: String
  },
  provider:{
    type: String
  },
  success:{
    type: Boolean
  }

現在我想查詢所有電子郵件記錄並將它們分成兩個數組。 一個用於provider=xprovider = y 然后計算每個人的success領域。 我該如何寫這樣的查詢?

如果您只想計算成功:對任何提供者都適用

emailSchema.aggregate([{
  $match: {
    { 'success': true }
  },
  $group: {
    _id: {
      provider: '$provider'
    }, //group by provider 
    count: {
      $sum: 1
    }
  } //sum of success fields
]);

如果您只想計算成功字段是否存在,則對於任何提供程序而言,該字段可能為true或false

emailSchema.aggregate([{
  $match: {
    {'success': { $exists: true }}
  },
  $group: {
    _id: {
      provider: '$provider'
    }, //group by provider 
    count: {
      $sum: 1
    }
  } //sum of success fields
]);

使用匯總查詢進行分組和計數

emailSchema.aggregate([{
      $group: {
        _id: {
          provider: '$provider'
        }, //group by provider 
        count: {
          $sum: '$success'
        }
      } //sum of success fields
    ])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM