MongoDB仅在通过其他函数使用fetch时才有效

时间:2015-01-03 00:45:12

标签: php mongodb

我正试图从MongoDB获取记录。要获取记录,我使用以下代码;

public function getEventsForAggregate($identifier)
{
    $events = $this->MongoCollection()->findOne([
        '_id' => $identifier
    ], [
        'events',
    ]);

    var_dump($events);
}

不幸的是它在findOne上消失了。

我是否更改了代码,以便findOne处于受保护的功能中,它确实有效。 所以下面的代码确实有效。

public function getEventsForAggregate($identifier)
{
    $events = $this->getEvents($identifier);

    var_dump($events);
}

protected function getEvents($identifier)
{
    return $this->MongoCollection()->findOne([
        '_id' => $identifier
    ], [
        'events',
    ]);
}

有人可以解释第一个代码是如何破解的,但第二个代码有效吗?

额外代码;

/** @var MongoCollection */
protected $mongoCollection;

public function __construct(MongoCollection $MongoCollection)
{
    $this->mongoCollection = $MongoCollection;
}

/**
 * @return MongoCollection
 */
protected function MongoCollection()
{
    return $this->mongoCollection;
}

0 个答案:

没有答案