2015-06-23 26 views

回答

1

的EntityQuery「擴大」功能不太可能對MongoDB的被實現,因爲「擴大」概念需要「加入」這是蒙戈沒有實現的功能。

但是,MongoDB中的想法是,對象的子元素(或關係,如果你來自關係背景)實際上是存儲並與父母一起返回。從微風角度來看,這意味着我們將所有這些相關的子對象視爲複雜的對象,當您查詢父對象時會自動返回這些對象。換句話說,您可能需要的所有「擴展」都會自動成爲查詢結果的一部分。

當您實際嘗試以關係方式使用MongoDB時,即將對象的ID存儲在一個集合中作爲另一個集合中對象的屬性時,會發生唯一問題。從MongoDB(和微風)角度來看,這意味着你需要執行另一個查詢來獲取這些相關數據。

我們的確在考慮如何將微風'擴展'轉換爲一系列嵌套查詢,但它確實違背了「MongoDB」的思維方式,這種查詢的性能可能會很糟糕。 ...我們不確定這對於大多數MongoDB開發人員來說是有用的還是可取的。一般來說,如果在你的數據中出現這種情況,那麼MongoDB可能不是適合使用的數據庫,因爲你最終會手動「加入」你的數據,這在Mongo中是一個非常繁瑣的過程。這是關係數據庫真的是更好的選擇的情況之一。