我在mongodb中有以以下格式存储的数据..请帮助我了解如何编写查询来查找数据库是否有存储在其中一个表中的特定ID
数据的结构如下:
{
"name": "abc",
"linked_data": {
"sheet 1": [
"7d387e05d3f8180a",
"8534sfjog904395"
],
"sheet 2": [
"7d387e05d3f8180a",
"54647sgdsevey67r34"
]
}
}
例如,如果id“8534sfjog904395”与“sheet 1”Map..则它应返回id与工作表Map的数据。我在查询中传递id,并希望在linked_data中查找,然后查找所有工作表
1条答案
按热度按时间kb5ga3dv1#
使用动态值作为字段名被认为是一种反模式,会给查询带来不必要的复杂性。然而,您可以使用
$objectToArray
将linked_data
转换为k-v元组数组。$filter
以仅获得您想要的工作表。最后,使用$arrayToObject
恢复为原始结构Mongo Playground