2017-07-13 11 views
2

我有兩個集合,我想用Phalcon PHP框架將它們連接在一起。如何使用Phalcon框架加入2個集合?

我會知道如何做到這一點在MySQL中,但我想知道是否有可能使用MongoDB,一個非關係型數據庫。

假設我的收藏是:

機器人

  • _id
  • 年齡

機器人零部件

  • _id
  • robot_id
+2

這是一個爾康具體的問題,因此我不認爲這是一個副本。 謝謝 –

回答

3

嘿Shailen &歡迎StackOverflow的:)

即使MongoDB是不是一個關係數據庫,它允許的加盟通過使用自3.2版以來作爲MongoDB一部分的聚合框架進行集合。

您應該能夠像來實現這一目標:

$results = RobotCollection::aggregate([ 
    [ 
     '$lookup' => [ 
      'from' => 'robot_parts', 
      'localField' => '_id', 
      'foreignField' => 'robot_id', 
      'as' => 'parts' 
     ] 
    ] 
]); 

在這個例子中,機器人文檔將有一個新的領域加入到這部分「(或任何你在「爲它命名'$查找的字段)。 的部分將用匹配的位置robot_parts.robot_id = robots._id

您可以瞭解更多有關$查找流水線一步這裏: https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#pipe._S_lookup

+0

嗨Armon, 感謝您的及時回覆我的問題。 這工作完美!非常感謝你的幫助。 –