mongodb双嵌套数组查询

时间:2017-10-22 01:55:26

标签: mongodb

我的数据库看起来像这样。

   {
  "_id": "some_location_id",
  "location_name": "columbia_mall",
  "floors": [
    {
      "_id": "some_floor_id",
      "floor_name": "1F",
      "stores": [
        {
          "_id": "some_store_id",
          "store_name": "zara",
          "items": [
            {
              "_id": "some_item_id",
              "category": "man_clthes",
            },
            {
              "_id": "some_item_id",
              "category": "woman_clthes",
            },
          ]
        },
        {
          "_id": "some_store_id",
          "store_name": "gap",
          "items": [
            {
              "_id": "some_item_id",
              "category": "man_clthes",
            },
            {
              "_id": "some_item_id",
              "category": "woman_clthes",
            },
          ]
        },
      ]
    },
    {
      "_id": "some_floor_id",
      "floor_name": "2F",
      "stores": [
        {
          "_id": "some_store_id",
          "store_name": "banana_republic",
          "items": [
            {
              "_id": "some_item_id",
              "category": "man_clthes",
            },
            {
              "_id": "some_item_id",
              "category": "woman_clthes",
            },
          ]
        },
        {
          "_id": "some_store_id",
          "store_name": "wallmart",
          "items": [
            {
              "_id": "some_item_id",
              "category": "man_clthes",
            },
            {
              "_id": "some_item_id",
              "category": "woman_clthes",
            },
          ]
        },
      ]
    },

  ]
},
{
  ...another location obj
}

我需要以下内容,

  1. 找到位置
  2. 在位置内找到阵列
  3. 在楼层内的阵列中找到商店
  4. 有什么办法可以查询吗?我花了几个小时搜索确切的案例,但没有这样做。

    我试图扩展以下查询..

    LocationModel.find(
      { _id: location_id },
      { floors: { $elemMatch: { _id: floor_id } } }
    ).then(...)
    

    但我无法继续搜索商店.. 我可以得到一些帮助吗?

0 个答案:

没有答案