搜尋

首頁  >  問答  >  主體

symfony2 mongodb的使用

最近在看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感覺是不是有些累贅? ?

PHP中文网PHP中文网2789 天前756

全部回覆(1)我來回復

  • 世界只因有你

    世界只因有你2017-05-16 16:46:45

    要簡單可靠肯定是應該將各業務分別放到單一的存儲裡;Doctrine提供了跨類型存儲的面對對像操作界面,並不是說推薦這麼做。

    既然都已經在不同的儲存裡了,用API來操作是比較適合的。

    $user->getComments();
    // VS
    $comments = $commentManager->getCommentsForUser($user);
    

    回覆
    0
  • 取消回覆