Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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
PHP Mongodb聚合不适用于查找阶段_Php_Mongodb - Fatal编程技术网

PHP 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" : "

我正在尝试使用lookup stage执行MongoDB聚合命令,但该命令似乎不起作用:



// 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
或不同的集合。尽量消除不存在的问题,并确定其范围。