0
我有一個集合,我不想僅訪問具有聚合查詢的特定子文檔。加速mongodb中的子文檔訪問
考慮文件,其中每個文件描述一個國家有每個城市的子文件。現在我只想訪問慕尼黑的子文檔。
{
_id: "123abc",
name: "Germany",
"someAttribute": ...
cities: [
{
"name": "Berlin",
"someAttribute": ...
},
{
"name": "Munich",
"someAttribute": ...
},
{
"name": "Bonn"
},
...
]
}
我知道我可以添加一個索引來加速檢索包含慕尼黑相關子文檔的文檔。我正在尋找的是一種加快子文檔本身檢索的方法。因爲對於大文檔,mongodb需要很長時間才能掃描文檔並提取相關的子文檔。
是 - 你的解決方案正是我有權知道。問題在於mongo仍然需要掃描文檔中的所有城市並找到正確的 - 我正在尋找一種方法讓mongo只讀取包含所需城市的文檔的相關部分。 –
您的正確,mongodb會將整個文檔(但只有匹配的文檔)加載到內存中以對其執行操作。很確定沒有辦法解決這個問題,你可以用不同的方式爲你的文檔建模。 –