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

Pencarian array bersarang MongoDB menggunakan $map

Anda dapat menggunakan kueri di bawah ini.

Beberapa hal yang telah saya ubah.

1.Tidak ada $elemMatch diperlukan untuk kriteria tunggal. Gunakan notasi titik sebagai gantinya.

2.Pindahkan $map subgrup di dalam $map group grup operator.

[
  {"$match":{
    "empId":"19107",
    "address.country":"AUS",
    "group.primaryGroup.primary":"Y",
    "group.subGroup.primarySubGroup.primary":"Y"
  }},
  {"$project":{
    "empId":1,
    "mobile":1,
    "address":{"$filter":{"input":"$address","as":"d","cond":{"$eq":["$$d.country","AUS"]}}},
    "group":{
      "$map":{
        "input":"$group",
        "as":"v",
        "in":{
          "groupId":"$$v.groupId",
          "primaryGroup":{"$filter":{"input":"$$v.primaryGroup","as":"vp","cond":{"$eq":["$$vp.primary","Y"]}}},
          "subGroup":{
            "$map":{
              "input":"$$v.subGroup",
              "as":"n",
              "in":{
                "subGroupId":"$$n.subGroupId",
                "primarySubGroup":{"$filter":{"input":"$$n.primarySubGroup","as":"mp","cond":{"$eq":["$$mp.primary","Y"]}}}
              }
            }
          }
        }
      }
    }
  }}
]



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Membangun Driver MongoDB C di Windows

  2. MongoDB $hariDariBulan

  3. Mongo mencoba terhubung secara otomatis ke port 27017 (localhost)

  4. Mengubah beberapa bidang di Mongo dari String ke Array

  5. Bisakah rollback masih terjadi pada set replika MongoDB dengan J=1 dan W=Majority?