gpt4 book ai didi

mongodb - MongoDB 的两个字段相等的原则

转载 作者:行者123 更新时间:2023-12-03 16:00:09 26 4
gpt4 key购买 nike

如何在 Doctrine ODM 中创建 where 条件以仅查找两个字段相等的文档?

存在一个包含两个 int 字段 alphabeta 的文档,我想选择这两个字段相等的所有文档。

我尝试了以下方法,但没有返回结果:

    $qb = $this->createQueryBuilder();
$qb
->field('alpha')->in($alphaIds)
->where('this.alpha === this.beta')
->sort('id', 'DESC');
return $qb->getQuery()->execute();

这个问题展示了如何在 alpha 和 beta 不相等的 Doctrine 之外做到这一点 https://stackoverflow.com/a/8433182/1283381

最佳答案

使用Doctrine\MongoDB\Query\Expr中的查询表达式 类来创建 where() 通过 expr() 方法表达式,如下所示:

$qb = $this->createQueryBuilder();
$qb->addAnd(
$qb->expr()
->field('alpha')->in($alphaIds)
->where('this.alpha === this.beta')
)
->sort('id', 'DESC');
return $qb->getQuery()->execute();

关于mongodb - MongoDB 的两个字段相等的原则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37300577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com