Interface GridFSBucket


  • @ThreadSafe
    public interface GridFSBucket
    Represents a GridFS Bucket
    Since:
    1.3
    • Method Detail

      • getBucketName

        String getBucketName()
        The bucket name.
        Returns:
        the bucket name
      • getChunkSizeBytes

        int getChunkSizeBytes()
        Sets the chunk size in bytes. Defaults to 255.
        Returns:
        the chunk size in bytes.
      • withChunkSizeBytes

        GridFSBucket withChunkSizeBytes​(int chunkSizeBytes)
        Create a new GridFSBucket instance with a new chunk size in bytes.
        Parameters:
        chunkSizeBytes - the new chunk size in bytes.
        Returns:
        a new GridFSBucket instance with the different chunk size in bytes
      • withReadPreference

        GridFSBucket withReadPreference​(ReadPreference readPreference)
        Create a new GridFSBucket instance with a different read preference.
        Parameters:
        readPreference - the new ReadPreference for the database
        Returns:
        a new GridFSBucket instance with the different readPreference
      • withWriteConcern

        GridFSBucket withWriteConcern​(WriteConcern writeConcern)
        Create a new GridFSBucket instance with a different write concern.
        Parameters:
        writeConcern - the new WriteConcern for the database
        Returns:
        a new GridFSBucket instance with the different writeConcern
      • withReadConcern

        GridFSBucket withReadConcern​(ReadConcern readConcern)
        Create a new MongoDatabase instance with a different read concern.
        Parameters:
        readConcern - the new ReadConcern for the database
        Returns:
        a new GridFSBucket instance with the different ReadConcern
        MongoDB documentation
        Read Concern
        Since server release
        3.2
      • uploadFromPublisher

        GridFSUploadPublisher<ObjectId> uploadFromPublisher​(String filename,
                                                            Publisher<ByteBuffer> source)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        filename - the filename
        source - the Publisher providing the file data
        Returns:
        a Publisher with a single element, the ObjectId of the uploaded file.
        Since:
        1.13
      • uploadFromPublisher

        GridFSUploadPublisher<ObjectId> uploadFromPublisher​(String filename,
                                                            Publisher<ByteBuffer> source,
                                                            GridFSUploadOptions options)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        filename - the filename
        source - the Publisher providing the file data
        options - the GridFSUploadOptions
        Returns:
        a Publisher with a single element, the ObjectId of the uploaded file.
        Since:
        1.13
      • uploadFromPublisher

        GridFSUploadPublisher<Void> uploadFromPublisher​(BsonValue id,
                                                        String filename,
                                                        Publisher<ByteBuffer> source)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        id - the custom id value of the file
        filename - the filename
        source - the Publisher providing the file data
        Returns:
        a Publisher with a single element, representing when the successful upload of the source.
        Since:
        1.13
      • uploadFromPublisher

        GridFSUploadPublisher<Void> uploadFromPublisher​(BsonValue id,
                                                        String filename,
                                                        Publisher<ByteBuffer> source,
                                                        GridFSUploadOptions options)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        id - the custom id value of the file
        filename - the filename
        source - the Publisher providing the file data
        options - the GridFSUploadOptions
        Returns:
        a Publisher with a single element, representing when the successful upload of the source.
        Since:
        1.13
      • uploadFromPublisher

        GridFSUploadPublisher<ObjectId> uploadFromPublisher​(ClientSession clientSession,
                                                            String filename,
                                                            Publisher<ByteBuffer> source)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        clientSession - the client session with which to associate this operation
        filename - the filename
        source - the Publisher providing the file data
        Returns:
        a Publisher with a single element, the ObjectId of the uploaded file.
        Since:
        1.13
        Since server release
        3.6
      • uploadFromPublisher

        GridFSUploadPublisher<ObjectId> uploadFromPublisher​(ClientSession clientSession,
                                                            String filename,
                                                            Publisher<ByteBuffer> source,
                                                            GridFSUploadOptions options)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        clientSession - the client session with which to associate this operation
        filename - the filename
        source - the Publisher providing the file data
        options - the GridFSUploadOptions
        Returns:
        a Publisher with a single element, the ObjectId of the uploaded file.
        Since:
        1.13
        Since server release
        3.6
      • uploadFromPublisher

        GridFSUploadPublisher<Void> uploadFromPublisher​(ClientSession clientSession,
                                                        BsonValue id,
                                                        String filename,
                                                        Publisher<ByteBuffer> source)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        clientSession - the client session with which to associate this operation
        id - the custom id value of the file
        filename - the filename
        source - the Publisher providing the file data
        Returns:
        a Publisher with a single element, representing when the successful upload of the source.
        Since:
        1.13
        Since server release
        3.6
      • uploadFromPublisher

        GridFSUploadPublisher<Void> uploadFromPublisher​(ClientSession clientSession,
                                                        BsonValue id,
                                                        String filename,
                                                        Publisher<ByteBuffer> source,
                                                        GridFSUploadOptions options)
        Uploads the contents of the given Publisher to a GridFS bucket.

        Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

        Parameters:
        clientSession - the client session with which to associate this operation
        id - the custom id value of the file
        filename - the filename
        source - the Publisher providing the file data
        options - the GridFSUploadOptions
        Returns:
        a Publisher with a single element, representing when the successful upload of the source.
        Since:
        1.13
        Since server release
        3.6
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(ObjectId id)
        Downloads the contents of the stored file specified by id into the Publisher.
        Parameters:
        id - the ObjectId of the file to be written to the destination Publisher
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(BsonValue id)
        Downloads the contents of the stored file specified by id into the Publisher.
        Parameters:
        id - the custom id of the file, to be written to the destination Publisher
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(String filename)
        Downloads the contents of the stored file specified by filename into the Publisher.
        Parameters:
        filename - the name of the file to be downloaded
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(String filename,
                                                    GridFSDownloadOptions options)
        Downloads the contents of the stored file specified by filename and by the revision in options into the Publisher.
        Parameters:
        filename - the name of the file to be downloaded
        options - the download options
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(ClientSession clientSession,
                                                    ObjectId id)
        Downloads the contents of the stored file specified by id into the Publisher.
        Parameters:
        clientSession - the client session with which to associate this operation
        id - the ObjectId of the file to be written to the destination Publisher
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
        Since server release
        3.6
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(ClientSession clientSession,
                                                    BsonValue id)
        Downloads the contents of the stored file specified by id into the Publisher.
        Parameters:
        clientSession - the client session with which to associate this operation
        id - the custom id of the file, to be written to the destination Publisher
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
        Since server release
        3.6
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(ClientSession clientSession,
                                                    String filename)
        Downloads the contents of the latest version of the stored file specified by filename into the Publisher.
        Parameters:
        clientSession - the client session with which to associate this operation
        filename - the name of the file to be downloaded
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
        Since server release
        3.6
      • downloadToPublisher

        GridFSDownloadPublisher downloadToPublisher​(ClientSession clientSession,
                                                    String filename,
                                                    GridFSDownloadOptions options)
        Downloads the contents of the stored file specified by filename and by the revision in options into the Publisher.
        Parameters:
        clientSession - the client session with which to associate this operation
        filename - the name of the file to be downloaded
        options - the download options
        Returns:
        a Publisher with a single element, representing the amount of data written
        Since:
        1.13
        Since server release
        3.6
      • find

        GridFSFindPublisher find()
        Finds all documents in the files collection.
        Returns:
        the GridFS find iterable interface
        MongoDB documentation
        Find
      • find

        GridFSFindPublisher find​(Bson filter)
        Finds all documents in the collection that match the filter.

        Below is an example of filtering against the filename and some nested metadata that can also be stored along with the file data:

          
              Filters.and(Filters.eq("filename", "mongodb.png"), Filters.eq("metadata.contentType", "image/png"));
          
          
        Parameters:
        filter - the query filter
        Returns:
        the GridFS find iterable interface
        See Also:
        Filters
      • find

        GridFSFindPublisher find​(ClientSession clientSession)
        Finds all documents in the files collection.
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        the GridFS find iterable interface
        Since:
        1.7
        MongoDB documentation
        Find
        Since server release
        3.6
      • find

        GridFSFindPublisher find​(ClientSession clientSession,
                                 Bson filter)
        Finds all documents in the collection that match the filter.

        Below is an example of filtering against the filename and some nested metadata that can also be stored along with the file data:

          
              Filters.and(Filters.eq("filename", "mongodb.png"), Filters.eq("metadata.contentType", "image/png"));
          
          
        Parameters:
        clientSession - the client session with which to associate this operation
        filter - the query filter
        Returns:
        the GridFS find iterable interface
        Since:
        1.7
        See Also:
        Filters
        Since server release
        3.6
      • delete

        Publisher<Void> delete​(ObjectId id)
        Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
        Parameters:
        id - the ObjectId of the file to be deleted
        Returns:
        a publisher with a single element, representing that the file has been deleted
      • delete

        Publisher<Void> delete​(BsonValue id)
        Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
        Parameters:
        id - the ObjectId of the file to be deleted
        Returns:
        a publisher with a single element, representing that the file has been deleted
      • delete

        Publisher<Void> delete​(ClientSession clientSession,
                               ObjectId id)
        Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
        Parameters:
        clientSession - the client session with which to associate this operation
        id - the ObjectId of the file to be deleted
        Returns:
        a publisher with a single element, representing that the file has been deleted
        Since:
        1.7
        Since server release
        3.6
      • delete

        Publisher<Void> delete​(ClientSession clientSession,
                               BsonValue id)
        Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
        Parameters:
        clientSession - the client session with which to associate this operation
        id - the ObjectId of the file to be deleted
        Returns:
        a publisher with a single element, representing that the file has been deleted
        Since:
        1.7
        Since server release
        3.6
      • rename

        Publisher<Void> rename​(ObjectId id,
                               String newFilename)
        Renames the stored file with the specified id.
        Parameters:
        id - the id of the file in the files collection to rename
        newFilename - the new filename for the file
        Returns:
        a publisher with a single element, representing that the file has been renamed
      • rename

        Publisher<Void> rename​(BsonValue id,
                               String newFilename)
        Renames the stored file with the specified id.
        Parameters:
        id - the id of the file in the files collection to rename
        newFilename - the new filename for the file
        Returns:
        a publisher with a single element, representing that the file has been renamed
      • rename

        Publisher<Void> rename​(ClientSession clientSession,
                               ObjectId id,
                               String newFilename)
        Renames the stored file with the specified id.
        Parameters:
        clientSession - the client session with which to associate this operation
        id - the id of the file in the files collection to rename
        newFilename - the new filename for the file
        Returns:
        a publisher with a single element, representing that the file has been renamed
        Since:
        1.7
        Since server release
        3.6
      • rename

        Publisher<Void> rename​(ClientSession clientSession,
                               BsonValue id,
                               String newFilename)
        Renames the stored file with the specified id.
        Parameters:
        clientSession - the client session with which to associate this operation
        id - the id of the file in the files collection to rename
        newFilename - the new filename for the file
        Returns:
        a publisher with a single element, representing that the file has been renamed
        Since:
        1.7
        Since server release
        3.6
      • drop

        Publisher<Void> drop()
        Drops the data associated with this bucket from the database.
        Returns:
        a publisher with a single element, representing that the collections have been dropped
      • drop

        Publisher<Void> drop​(ClientSession clientSession)
        Drops the data associated with this bucket from the database.
        Parameters:
        clientSession - the client session with which to associate this operation
        Returns:
        a publisher with a single element, representing that the collections have been dropped
        Since:
        1.7
        Since server release
        3.6