首页 > 解决方案 > 如何获取动态键的值?

问题描述

假设您在我的收藏中有以下文档:

{
    "_id": ObjectId("5c7e12aba50f3b32d42as472"),
    "KJK": {
        "overall": {
            "some_data": 1,
        },
        "date_wise": {
            "2018-07-26": {
                "last_inserted_id": "11",
                "overall": {
                    // some data
                },
                "data": ["temp1": 2, "temp2": 3, ]
            }
        }
    },
    "YNG": {
        "overall": {
            "some_data": 3,
        },
        "date_wise": {
            "2018-07-26": {
                "last_inserted_id": "11",
                "overall": {
                    // some data
                },
                "data": ["temp1": 4, "temp2": 4, ]
            }
        }
    },
    ....
}

有一些我想要执行的操作列表,但是当我将它与 MySQL 进行比较时,我一无所知,这是我第三个艰难的一天。

  1. 如何通过键的值搜索数据?例如 KJK 和 YNG 是动态的,我想搜索 KJK 并从中获取所有数据。
  2. 如何仅获取整个搜索键?例如,如果我搜索 YNG,它应该只返回 YNG.overall。

我实际上无法付出努力,因为我不知道如何映射键来查找和获取该数据。

我得到钥匙我试过这个,工作,但不知道下一步该怎么做。

db.tbl_mytable.find().forEach(function(doc){Object.keys(doc).forEach(function(key){allKeys[key]=1})});

编辑

问题是我想直接对 Key 执行搜索操作并获取它的整体数据,而不是在子文档中的任何地方搜索。

编辑 2
我检查了两个重复的问题。没有一个与我提出的问题有关。

标签: phpmongodb

解决方案


推荐阅读