Автоинъекция хранилища документов mongodb - PullRequest
0 голосов
/ 01 апреля 2019

Мне нужно хранилище документов с автопроводкой, но когда я реализую это, как с хранилищем сущностей, я получаю сообщение, как показано ниже

Не удалось найти менеджер документов для класса "Приложение \ Документ \ Продукт". Проверьте конфигурацию Doctrine и убедитесь, что она настроена на загрузить метаданные этого документа.

<?php

declare(strict_types=1);

namespace App\Repository\MongoDB;

use App\Document\Product;
use Doctrine\Bundle\MongoDBBundle\Repository\ServiceDocumentRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;

class ProductsRepository extends ServiceDocumentRepository implements KeywordsPerformanceReportRepository
{

    public function __construct(RegistryInterface $registry)
    {
        parent::__construct($registry, Product::class);
    }

...
}

doctrine_mongodb.yaml

doctrine_mongodb:
    auto_generate_proxy_classes: true
    auto_generate_hydrator_classes: true
    connections:
        default:
            server: '%env(MONGODB_URL)%'
            options: { username: "%env(MONGODB_USER)%" , password: "%env(MONGODB_PASSWORD)%", authSource: "%env(MONGODB_DB)%" }
    default_database: '%env(MONGODB_DB)%'
    document_managers:
        default:
            auto_mapping: true
            mappings:
                App:
                    is_bundle: false
                    type: annotation
                    dir: '%kernel.project_dir%/src/Document'
                    prefix: 'App\Document'
                    alias: App

product.php

/**
 * @MongoDB\Document(db="mongoDB",
 *     collection="product",
 *     repositoryClass="App\Repository\ProductRepository")
 */
class Product
...