PHP Mongodb聚合不适用于查找阶段
我正在尝试使用lookup stage执行MongoDB聚合命令,但该命令似乎不起作用:PHP Mongodb聚合不适用于查找阶段,php,mongodb,Php,Mongodb,我正在尝试使用lookup stage执行MongoDB聚合命令,但该命令似乎不起作用: // col_1 { "_id" : 1, "sever_id" : 1, "question" : "What is option", "status" : "active", "no_of_options" : "
// col_1
{
"_id" : 1,
"sever_id" : 1,
"question" : "What is option",
"status" : "active",
"no_of_options" : "2"
}
// col_2
{
"_id" : 1,
"col_1_id" : 1,
"option" : "option 1",
"votes" : 0
}
{
"_id" : 2,
"col_1_id" : 1,
"option" : "option 2",
"votes" : 0
}
$connection = get_mongodb_connection();
$command = new MongoDB\Driver\Command([
'aggregate' => 'col_1',
'pipeline' => [
['$match' => ['sever_id' => 1]],
['$lookup' => [
"localField" => '_id',
"from" => 'col_2',
"foreignField" => 'col_1_id',
"as" => 'options',
]],
],
'cursor' => new stdClass,
]);
$cursor = $connection->executeCommand('testdb', $command);
此命令返回游标中的空白数组。
这很简单,但不起作用。在这种情况下我做错了什么?包括col1示例文档。包括error@Minsky请原谅不完整的信息。添加了示例文档。如果您只运行
$match
,是否返回了任何内容?否,其数组仍然为空。是否运行了任何成功的查询?例如,使用不同的字段而不是服务器id
或不同的集合。尽量消除不存在的问题,并确定其范围。