Verwendung von Symfony2 Mongodb
PHP中文网
PHP中文网 2017-05-16 16:44:45
0
1
707

Ich habe kürzlich die Symfony2-Mongodb-Dokumentation gelesen und war etwas verwirrt darüber, wie man sie verwendet.

Mongodb verfügt über eine ODM-Eins-zu-Eins-, Eins-zu-Viele-, Viele-zu-Viele-Beziehungszuordnung ähnlich wie MySQL-Orm, die auch bequemer zu verwenden ist.

Aber wenn Sie MySQL und Mongodb in Kombination verwenden, um die Mongodb-Daten von MySQL zu erhalten, müssen Sie gemäß dem offiziellen Doctrine One-to-One-Dokument MySQL und Mongodb über die Ereignisse Abonnenten und LifecycleEventArgs verknüpfen.
Es gibt keine detaillierten Beispiele für One-to-Many und Many-to-Many. Später stellte ich fest, dass bei der Verwendung von Eins-zu-Viele und Viele-zu-Viele eine Zwischentabelle in MySQL und Mongodb generiert werden muss. Durch das LifecycleEventArgs-Ereignis wird die Zwischentabelle zu einer Brücke für die Kommunikation zwischen MySQL und Mongodb

Daher ist die Wartung dieser Zwischentabelle schwieriger. Wenn Sie beispielsweise Mongodb-Daten löschen, müssen Sie auch die Zwischentabelle aktualisieren. Wenn es außerdem viele Tabellen gibt, die zwei Datenbanken zugeordnet sind, gibt es dann nicht auch viele Zwischentabellen? ?

Für smyfony2 kombinieren Sie MySQL und Mongodb. Wird die Verwendung einer einzelnen Datenbank empfohlen? ? ? Wenn beides kombiniert verwendet wird, dürfen die gespeicherten Daten nicht stark voneinander abhängig sein? ? ? Fühlt es sich in diesem Fall umständlich an, MySQL und Mongodb auf der offiziellen Doctrine-Website zu verwenden? ?

PHP中文网
PHP中文网

认证0级讲师

Antworte allen(1)
世界只因有你

要简单可靠肯定是应该将各业务分别放到单一的存储里;Doctrine提供了跨类型存储的面对对象操作界面,并不是说推荐这么做。

既然都已经在不同的存储里了,用API来操作是比较合适的。

$user->getComments();
// VS
$comments = $commentManager->getCommentsForUser($user);
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!