Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb参考文献()_Mongodb_Symfony_Reference_Doctrine Orm_Doctrine - Fatal编程技术网

Mongodb参考文献()

Mongodb参考文献(),mongodb,symfony,reference,doctrine-orm,doctrine,Mongodb,Symfony,Reference,Doctrine Orm,Doctrine,mongodb createquerybuilder()是否可以向文档添加多个引用? 下面是我想做的一个例子: 我有两个集合:1:n关系中的用户和移动,因此一个用户有多个移动,一个移动指的是一个用户 要从用户那里获取移动,我可以 $user->getMovements(); 我也可以这样调用createQueryBuilder: $query->createQueryBuilder('Movement'); $query->field('user')->referenc

mongodb createquerybuilder()是否可以向文档添加多个引用? 下面是我想做的一个例子: 我有两个集合:1:n关系中的用户和移动,因此一个用户有多个移动,一个移动指的是一个用户

要从用户那里获取移动,我可以

$user->getMovements();
我也可以这样调用createQueryBuilder:

$query->createQueryBuilder('Movement');
$query->field('user')->references($user);
两者都给了我预期的结果。但是,如果我想在一个查询中获取2或3个用户的移动,该怎么办

是否可以做类似的事情(我尝试过但没有成功)

我坚持这样的质疑。谢谢你的帮助!
Colzak。

好的,所以我找到了一个可能不是最好的解决方案,但它很有效

而不是做

$q->field('user')->references($user);
你能行

$->field('user.$id')->equals(new \MongoId($user->getId());
因此,如果您有一个用户数组,您可以执行以下操作

$userIds = array();
foreach ($users as $user) {
    $userIds[] = new \MongdoId($user->getId());
}
然后查询:

$q->field('user.$id')->in($userIds);
希望它能帮助别人

$q->field('user.$id')->in($userIds);