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

$lookup bersyarat di MongoDB?

Anda dapat menggunakan agregasi di bawah ini

$expr memungkinkan Anda menggunakan operator agregasi di dalamnya. Jadi Anda dapat dengan mudah menggunakan $cond agregasi untuk pengguna yang memiliki allowedRoles dan siapa yang belum

db.users.aggregate([
  { "$match": { "name": "Charles" }},
  { "$lookup": {
    "from": "roles",
    "let": { "ar": "$allowedRoles" },
    "pipeline": [
      { "$match": {
        "$expr": {
          "$cond": [
            { "$eq": [{ "$type": "$$ar" }, "missing"] },
            {},
            { "$in": ["$_id", "$$ar"] }
          ]
        }
      }}
    ],
    "as": "roles"
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Perbedaan antara sekarang dan tanggal tertentu

  2. Bagaimana cara menggunakan C # untuk memasukkan dokumen ke dalam dokumen tertanam yang ada?

  3. Kelompokkan dan hitung pada rentang awal dan akhir

  4. Gabung dan format array objek dengan Python

  5. Masukkan nilai formulir (format json) dalam database menggunakan meteor