Php Symfony MongoDb can';无法检索新字段值

Php Symfony MongoDb can';无法检索新字段值,php,mongodb,symfony,doctrine-orm,Php,Mongodb,Symfony,Doctrine Orm,我在文档说明中添加了新条目 /** * @MongoDB\Field(type="string") */ protected $city; 然后让条令生成实体。现在,新创建的记录具有新字段“city”,其值与预期值相同。但是,我只能在mongo控制台中看到这些值。在条令输出中,它们总是设置为“null”。实体条目似乎是正确的 public function getFirstName() { return $this->firstName; } /** * Get city

我在文档说明中添加了新条目

/**
 * @MongoDB\Field(type="string")
 */
protected $city;
然后让条令生成实体。现在,新创建的记录具有新字段“city”,其值与预期值相同。但是,我只能在mongo控制台中看到这些值。在条令输出中,它们总是设置为“null”。实体条目似乎是正确的

public function getFirstName()
{
    return $this->firstName;
}

/**
 * Get city
 *
 * @return string $city
 */
public function getCity()
{
    return $this->city;
}
我有一个存储库

public function allQuery($cat)
{
    $q = $this->createQueryBuilder()
        ->sort('createdAt', 'DESC');

    if ($cat) {
        $q->field('category.$id')->equals(new \MongoId($cat));
    }
    return $q;
}
和服务

function addAllPager($perPage = 10, $cat)
{
    return $this->_addPager($this->repo()->allQuery($cat), $perPage);
}
内部控制器

    $helper = $this->get('appbundle.test.helper');
    $tests = $helper->addAllPager(10, $cat);
Symfony分析器向我显示查询
db.Test.find().sort({“createdAt”:-1}).limit(10).skip(0)
。$tests的转储内容

#firstName: "John"
#city: null
我错过了什么

编辑

使用
php bin/console缓存清除缓存:清除
解决了问题。

php-bin/console原则:mongodb:cache:clear-metadata
不够。谢谢你
malarzm

我知道这是在问题被问到8个月后,但有同样的问题,并与教义斗争了一段时间。我使用的是symfony3,我尝试了
php-bin/console原则:mongodb:cache:clear-metadata
,但没有成功


我最后运行了命令
php bin/console cache:clear
,或者用这个命令删除缓存
sudo rm-rf var/cache
,解决了这个问题。

请清除缓存并重新启动Apache,这样的事情通常源于未更新的缓存或未更新的缓存元数据。