KnpGaufretteBundle icon indicating copy to clipboard operation
KnpGaufretteBundle copied to clipboard

define service for adapter with GridFS

Open sha256-mercury opened this issue 5 years ago • 1 comments

Hello, I want to use GridFs in my Symfony application. The default configuration on the GridFs seems to not walk well. I'm using knplabs/knp-gaufrette-bundle v0.5.3, gaufrette/gridfs-adapter v0.4.0 and mongodb/mongodb 1.1.2. There is my service configuration

   app.mongo:
            class: Mongo
        arguments: [%app.mongo.server%, %pp.mongo.options%]
    app.mongodb:
        class: MongoDB
        arguments: [@app.mongo, %app.mongodb.name%]
    app.gridfs:
        class: MongoGridFS
        arguments: [@app.mongodb, %app.gridfs.prefix%]

When I tried to debug, I have this error Type error: Argument 1 passed to Gaufrette\Adapter\GridFS::__construct() must be an instance of MongoDB\GridFS\Bucket, instance of MongoGridFS given I have to define an instance of MongoDB\GridFS\Bucket as a service but I did not find the class MongoDB\Driver\Manager . Please there is somebody who can help me ?

sha256-mercury avatar May 03 '19 21:05 sha256-mercury

you can replace:

   app.mongo:
            class: Mongo
        arguments: [%app.mongo.server%, %pp.mongo.options%]
    app.mongodb:
        class: MongoDB
        arguments: [@app.mongo, %app.mongodb.name%]
    app.gridfs:
        class: MongoGridFS
        arguments: [@app.mongodb, %app.gridfs.prefix%]

By:

    app.gridfs:
        class: MongoDB\GridFS\Bucket
        arguments:
            $databaseName: %database_name%

theyough avatar May 21 '19 17:05 theyough