php - 如何使用 Phalcon 框架加入 2 个集合?

标签 php mongodb phalcon

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

我知道如何在 MySQL 中执行此操作,但是我想知道在使用非关系数据库 MongoDB 时是否可能。

假设我的收藏是:

机器人

  • _id
  • 姓名
  • 年龄

机器人零件

  • _id
  • robot_id
  • 姓名
  • 数量

最佳答案

嘿 Shailen,欢迎来到 StackOverflow :)

尽管 MongoDB 不是关系数据库,但它确实允许使用聚合框架来连接集合,聚合框架自版本 3.2 起成为 MongoDB 的一部分。

您应该能够通过以下方式实现这一目标:

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

在此示例中,机器人文档将添加一个新字段“parts”(或者您在 $lookup 的“as”字段中命名的任何内容)。 零件将在 robots_parts.robot_id = robots._id

的情况下进行匹配

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

关于php - 如何使用 Phalcon 框架加入 2 个集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45076981/

相关文章:

php - 使用显示错误的不同键创建多个元字段

javascript - jQuery Validation 插件远程规则更改 php 函数值

java 的 DB.getCollection() 不会创建集合,即使 javadoc 是这样说的

mongodb - 在 MongoDb 中查询不同的非空值

php - Phalcon Paginator 中断查询生成器查询

.htaccess - Phalconphp 路由不工作

php - 如何将 Phalcon 的 .volt 中的变量转换为 int?

PHP OOP MySQL 连接

php - 我怎样才能简化这个冗余代码?

mongodb - 固件 - ContextBroker - 编译 ubuntu Trusty (14.04)