如何使用 Phalcon 框架加入 2 collections?

How do I join 2 collections using the Phalcon framework?

我有 2 个 collections,我想使用 Phalcon PHP 框架将它们连接在一起。

我知道如何在 MySQL 中执行此操作,但我想知道在使用 MongoDB 时是否可行,一个 non-relational 数据库。

假设我的 collections 是:

机器人

机器人零件

嗨 Shailen,欢迎来到 Whosebug :)

即使 MongoDB 不是关系数据库,它也允许通过使用作为 MongoDB 3.2 版的一部分的聚合框架来连接集合。

您应该可以通过以下方式实现此目的:

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

在此示例中,机器人文档将添加一个新字段 'parts'(或您在 $lookup 的 'as' 字段中命名的任何名称)。 这些部分将匹配 robot_parts.robot_id = robots._id

您可以在此处了解有关 $lookup 管道步骤的更多信息: https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#pipe._S_lookup