最近在看symfony2 mongodb文檔,感覺在使用上有些疑惑。mongodb有類似于mysql orm的odm one-to-one、one-to-many、many-to-many的關系映射,使用起來也比較方便。但是如果結合使用mysql和mongodb,從mysql取出mongodb的數據,按照doctrine one-to-one官方文檔需要通過訂閱器,LifecycleEventArgs事件將mysql和mongodb關聯。而one-to-many、many-to-many就沒有詳細例子了。后來發現,使用one-to-many、many-to-many的時候需要在mysql和mongodb中產生一張中間表,在通過LifecycleEventArgs事件,使中間表成為mysql和mongodb通信的橋梁那么對于這張中間表的維護,操作起來比較麻煩,比如刪除mongodb的數據,那么也必須更新中間表。另外如果兩個數據庫關聯的表很多,那中間表豈不也很多??對于smyfony2將MySQL和mongodb組合使用。建議單一使用一種數據庫為好???如果將兩者組合使用,存放的數據必須依賴性不強???既然那樣那么doctrine官網組合使用mysql和mongodb感覺是不是有些累贅??
1 回答

慕絲7291255
TA貢獻1859條經驗 獲得超6個贊
要簡單可靠肯定是應該將各業務分別放到單一的存儲里;Doctrine提供了跨類型存儲的面對對象操作界面,并不是說推薦這么做。
既然都已經在不同的存儲里了,用API來操作是比較合適的。
$user->getComments();
// VS
$comments = $commentManager->getCommentsForUser($user);
- 1 回答
- 0 關注
- 751 瀏覽
添加回答
舉報
0/150
提交
取消