我有一個情況在蒙戈DB的記錄是這樣的:動態字段名稱搜索MongoDB中
{
"_id" : "xxxx",
"_class" : "xxxx",
"orgId" : xxx,
"targetKeyToOrgIdMap" : {
"46784_56139542ecaa34c13ba9e314" : 46784,
"47530_562f1bc5fc1c1831d38d1900" : 47530,
"700004280_56c18369fc1cde1e2a017afc" : 700004280
},
}
我必須找出其中targetKeyToOrgIdMap子節點具有一組特定值的記錄。這意味着,我知道在「46784_56139542ecaa34c13ba9e314」:46784部分的記錄中將會出現什麼值。而字段名稱是可變的,它的值和一些隨機字符串的組合。
在上面的例子中,我有46784,我需要找到所有在那個領域有46784的記錄。
有沒有什麼辦法可以引發一些正則表達式或類似的東西,或者使用任何其他的意思,我會得到我需要在字段targetKeyToOrgIdMap的子節點中的值的記錄。
在此先感謝
不可能使用'find()'方法,也許使用'mapReduce'。您可能需要考慮更改您的模式,以使具有鍵和值屬性的對象數組成爲'targetKeyToOrgIdMap',這更容易查詢:'「targetKeyToOrgIdMap」:[{「id」:「46784_56139542ecaa34c13ba9e314」,「value」:46784} ,{ 「id」:「47530_562f1bc5fc1c1831d38d1900」,「value」:47530}]' – chridam
改變模式將不可能。我必須也許跳過這個或什麼...謝謝@chridam –