MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB търсене на вложен масив с помощта на $map

Можете да използвате заявката по-долу.

Промених няколко неща.

1. Няма $elemMatch се изисква за единичен критерий. Вместо това използвайте нотация с точка.

2. Преместете $map на подгрупата вътре в групата $map оператор.

[
  {"$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. как да коригирам:„MongoError:неуспешно удостоверяване“ @MongoDB Atlas

  2. Как да актуализирате голям брой документи в MongoDB най-ефективно?

  3. Mongoose екземпляр .save() не работи

  4. Как MongoDB оценява множество изрази $or?

  5. Инсталиране на MongoDB на Raspberry Pi