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

Hitung elemen array yang cocok dengan kondisi

Anda perlu menggunakan $filter agregasi untuk menyaring external asal dan internal asal bersama dengan $size agregasi untuk menghitung panjang array.

Sesuatu seperti ini

db.collection.aggregate([
  { "$addFields": {
    "internalUsersCount": {
      "$size": {
        "$filter": {
          "input": "$participants",
          "as": "part",
          "cond": { "$eq": ["$$part.origin", "internal"]}
        }
      }
    },
    "externalUsersCount": {
      "$size": {
        "$filter": {
          "input": "$participants",
          "as": "part",
          "cond": { "$eq": ["$$part.origin", "external"] }
        }
      }
    }
  }}
])

Keluaran

[
  {
    "conferenceName": "myFirstConference",
    "endDate": 1535722420,
    "externalUsersCount": 1,
    "internalUsersCount": 1,
    "startDate": 1535722327
  }
]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:Bagaimana cara menanyakan catatan di mana bidang nol atau tidak disetel?

  2. pymongo.errors.CursorNotFound:id kursor '...' tidak valid di server

  3. MongoDB:Memperbarui subdokumen

  4. Atribut dinamis dengan Rails dan Mongoid

  5. MongoDB $isoDayOfWeek